System Software Engineer

Chupdown

Chicago (IL)

On-site

USD 130,000 - 190,000

Full time

14 days+

Get a reply from this employer

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Job summary

Chicago UpDown is seeking a System Software Engineer to design, build, and optimize the memory and system software stack for its scalable, accelerator-based global memory system. You will lead the memory management efforts across a petabyte-scale platform and integrate HPC workload managers to orchestrate massive parallel jobs.

Ideal candidates have 3+ years in C/C++ and Linux kernel programming, deep OS memory management knowledge, and experience with HPC/cloud scalable systems.

Qualifications

  • Master’s or Ph.D. in CS, CE, or related field.
  • 3+ years in C/C++ and Linux kernel programming.
  • Deep understanding of OS-level memory management, virtual memory, paging, and custom memory allocators.
  • 3+ years in HPC/Cloud scalable systems software.

Responsibilities

  • Lead the design and implementation of a petabyte-scale unified virtual memory system.
  • Global Memory and system library development including allocators and runtimes.
  • Integrate HPC workload managers (Slurm, PBS, or custom schedulers) for resource orchestration.
  • Kernel and driver engineering: Linux kernel and drivers to optimize memory management.

Skills

C/C++ programming
Linux kernel programming
OS memory management
HPC/Cloud scalable systems
Parallel computing
Memory allocators

Education

Master’s or Ph.D. in CS/CE or related field

Tools

Slurm
PBS
Custom schedulers

Job description

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.

Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

System Software Engineer - Petabyte-Scale Memory & HPC Clusters
System Software Engineer - Petabyte-Scale Memory & HPC Clusters

Chupdown • Chicago (IL), Northern (KY)

Hybrid
USD 130,000 - 190,000
Engineer - HPC Platform
Engineer - HPC Platform

Xe7 Limited • Cleveland (OH)

On-site
USD 150,000 - 210,000
Engineer - HPC Platform
Engineer - HPC Platform

Xenon Seven • Chicago (IL)

On-site
USD 120,000 - 160,000
Attractive salary package
Clear career advancement path
HPC Applications Engineer
HPC Applications Engineer

NextSilicon • Minneapolis (MN)

Hybrid
USD 120,000 - 180,000
GPU Systems Engineer
GPU Systems Engineer

Career Techniques • New York (NY)

On-site
USD 200,000 - 300,000
High-Performance Computing (HPC) Systems Engineer
High-Performance Computing (HPC) Systems Engineer

iForce Connect • United States

Remote
USD 120,000 - 180,000
100% remote work environment
Bleeding-edge computing infrastructure
Engineer - HPC Platform
Engineer - HPC Platform

Xe7 Limited • Indianapolis (IN)

On-site
USD 120,000 - 180,000
Engineer - HPC Platform
Engineer - HPC Platform

Xenon Seven • Cleveland (OH)

On-site
USD 120,000 - 180,000
Attractive, market-leading salary
Clear career advancement path
Sr HPC Hardware Engineer
Sr HPC Hardware Engineer

Career Techniques • Dallas (TX)

On-site
USD 120,000 - 180,000
Staff AI Performance Engineer
Staff AI Performance Engineer

EngineersOfAI • Austin (TX)

On-site
USD 90,000 - 120,000