10 Sep
|
ATRI Solutions
|
Gandhinagar
10 Sep
ATRI Solutions
Gandhinagar
Linux Systems Programmer – Edge Storage (UMD / IPC)
Location: Pune, MH or Gandhinagar, GJ
Experience: 8–10 years
Employment Type: Full-time
Reports To: Linux Platform Architect
About the Role
ATRI Solutions is hiring a Linux Systems Programmer to build and extend the Mode Daemon (UMD) — a FUSE-based C daemon running on Ubuntu Server that transparently mediates file access between Nx Witness VMS (and future Hanwha / Digital Watchdog integrations) and cloud-tiered storage. You will work at the boundary between the kernel module and userspace, implementing high-throughput, low-latency data paths, shared-memory coordination, and reliable SQLite-backed state tracking.
Key Responsibilities
- Design and implement multi-threaded C components using pthreads (mutexes, condition variables, thread pools) for the UMD daemon
- Build and maintain FUSE filesystem hooks that intercept file operations for video files under active recording and archival
- Implement and tune ring-buffer / lock-free producer-consumer pipelines shared between the kernel module and userspace daemon via shared memory
- Develop IPC mechanisms (shared memory segments, message queues, Unix domain sockets, eventfd/epoll) for cross-process coordination among UMD, edge agent, and CLI/admin tooling
- Own SQLite (WAL-mode) schema and access patterns for tracking file lifecycle state, ensuring correctness under concurrent multi-process access
- Integrate HTTP/REST clients (libcurl or equivalent)
for upload/download against S3-compatible object storage (Wasabi, AWS S3)
- Diagnose and resolve production issues using strace, gdb, valgrind, and perf; write regression tests only after live behavior is confirmed
- Collaborate with the kernel driver team and .NET edge-agent team on stable, versioned interfaces across process boundaries
Mandatory Skills
Must-Have
- Strong C programming with pthreads (mutex/condvar, thread pools) in production Linux daemons
- Hands-on experience with IPC: POSIX/System V shared memory, message queues, Unix domain sockets
- Ring-buffer / lock-free producer-consumer design for high-throughput data pipelines
- FUSE (Filesystem in Userspace) development experience
- SQLite integration in C/C++, including WAL mode and concurrent multi-process access patterns
- HTTP/REST client integration (libcurl or similar) for cloud object-storage APIs
- Proficiency with Linux debugging tools: strace, gdb, valgrind, perf
- Solid understanding of Linux syscalls, file I/O semantics, and Ubuntu Server administration
Nice-to-Have Skills
Positive-to-Have
- Experience coordinating userspace code with a DKMS-packaged kernel module
- C#/.NET familiarity for integrating with a companion edge-agent service
- Domain experience with video/streaming systems, VMS, or NVR/DVR platforms
- Experience with epoll/eventfd-based event-driven architectures
📌 Linux Systems Programmer – Edge Storage (UMD / IPC) (Gandhinagar)
🏢 ATRI Solutions
📍 Gandhinagar