System/Software Engineer (Networking)

We run a High-Performance Computing Platform (HPC) on AWS with many additional opensource technologies and middleware. All our systems run in the Cloud so we always think cloud first! Our team uses a mix of Linux and some Windows. We are trying to remove each and every barrier that would keep the product team from executing faster than our competitors and releasing a clean, quality product. This means supporting and testing our full stack in a public cloud environment along with distributed schedulers, logging solutions, metrics, storage archiving, and optimization of HPC application cost and performance.

Role Description

We are looking for a System/Software Engineer (Networking) with strong knowledge of networking concepts as well as design and development of complex/distributed systems and/or high performance computing services. Your primary responsibility will be to help design and develop software to run network simulations using the NS3 framework.

Responsibilities
  • Define and implement network simulations using customer driven Data Center configurations, analyze results and provide high quality insights.
  • Develop and maintain Scala’s simulation methodology for performance modeling for network and device including queueing & packet processing models. Incorporate functional models into performance models..

  • Identify bottlenecks and bugs, and devise solutions to these problems.

  • Operate as a self-driven team player at times independently and with minimal direction, and at times collaborating closely with co-workers and customer engineers

  • Own device and system models for large-scale distributed applications such as deep learning.

  • Specify the methodology and software required to exercise the models; log results, perform regression testing, or correlate against real life systems.

  • Leverage simulation efforts for customer validation by adjusting the model to per-customer variants, drive evolution of the models to achieve both customer and internal development goals.

Requirements
  • Strong experience with discrete event simulator tools, such as ns-2, ns-3, and omnet++, for evaluating the performance characteristics of network components.
  • Strong experience modeling network components in Data Center configurations.
  • Strong experience evaluating results and insights from simulation results.
  • Strong experience in hardware and system software design for network interfaces.
  • Strong experience in hardware and software design of large Data Center designs.
  • Strong experience in data communications, networking protocols, and standards such as TCP/IP, UDP, and Link layer protocols including Ethernet.
  • Experience coding and validating silicon or network system behavioral models in C, systemC, or C++; experience with ns3 or other multi-node network simulators a plus.
  • Understanding of silicon chip architecture and fundamentals required.
  • Experience building performant systems, such as high performance & low latency C/C++ applications, running under Linux OS. Experience with kernel/OS configurations and feature sets a plus.
  • Good understanding of how to design and develop complex distributed systems, including experience debugging and solving performance issues in these environments.
  • Proficient understanding of source code management using GIT tools.
  • Familiarity with continuous integration
  • Bachelor’s Degree or equivalent in Computer Science or a related field.
Send your resume to hr@scalacomputing.com