System Software Engineer
Listed on 2026-10-08
-
Software Development
Software Engineer, AI Engineer (Applied/Software), C++ Developer, Unix/Linux
At Chicago UpDown, we are building breakthrough graph computing acceleration - software and hardware. With 1000x performance of today's cloud-based approaches, UpDown enables instant real-time mapping and analytics of trillion-node graphs. The core technologies were created as part of IARPA's AGILE program, and spun out from the University of Chicago and Purdue University.
We are looking for a talented System Software engineer, experienced with Linux and HPC, and capable with advanced AI tools to lead the design and enhancement of system software for a sophisticated, scalable global memory management and scale-out parallel cluster system (>10,000 nodes).
We are seeking a talented System Software Engineer to design, build, and optimize the memory and system software stack for our scalable, accelerator-based global memory system, UpDown.
Challenges include accelerator global memory (petabytes of unified virtual memory) and resource management in large-scale parallel systems (cloud and HPC-like). The technical challenges exceed the largest cloud and HPC systems today.
Key ResponsibilitiesLead the design and implementation of a petabyte-scale unified virtual memory system to leverage novel hardware translation features and capabilities.
Global Memory and system library:
System and application allocators & runtimes, including custom memory allocators and system-level runtime infrastructure to maximize throughput.
Task/Job Scheduling & Orchestration:
Integrate and optimize HPC workload managers and job scheduling systems (such as Slurm, PBS, or custom schedulers) to efficiently allocate resources and orchestrate massively parallel jobs.
Kernel and Driver Engineering:
Linux kernel and driver work to support and optimize the memory management and device driver subsystem, develop custom modules, and eliminate kernel-space bottlenecks.
Education:
Master’s or Ph.D. in CS, CE, or related field.
Systems Programming
Experience:
3+ years of hands-on experience writing production-grade, low-level code in C and C++ and/or Linux kernel programming.
Virtual and Memory Management Knowledge:
Deep understanding of OS-level memory management, virtual memory, paging, and custom memory allocators.
Parallel Computing or HPC
Experience:
3+ years in HPC/Cloud scalable systems software, writing/modifying software for HPC, supercomputer, and accelerator environments.
5+ years hands-on experience developing or modifying OS kernels (Linux), hypervisors, or low-level runtime libraries.
Strong understanding of the challenges associated with memory management in multi-tenant, globally distributed cloud infrastructure.
Advanced Interconnects:
Demonstrated experience working with high-performance network and memory fabrics, such as RDMA (RoCE, Infini Band), CXL, and NVLink.
Experience with graph workloads and algorithms ("e.g., Graph
500 BFS") on modern hardware.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).