Back to search
Chicago UpDown Computing, Inc. Linkedin · Posted 6d ago

0

Indiana, United States

Linkedin
Continue to application Add your email once, then Caio opens the original posting.

Indexed description

Senior System Software Engineer

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 Responsibilities

  • Lead 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.

Minimum Qualifications

  • 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.

Preferred Qualifications

  • 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, InfiniBand), CXL, and NVLink.
  • Experience with graph workloads and algorithms (e.g., Graph500 BFS) on modern hardware.

To apply, send a cover letter and resume to [email protected]
Free. 20 seconds. No password. See every match in this search.

Create a free Caio profile to unlock more results and save your role and location preferences.

Unlock free search
Want help applying to roles like this? Search Caio for free. If repetitive applications get heavy, Managed Job Search adds supervised execution for $99/month.
View Managed Job Search