Department: Renaissance Computing Inst
Position Summary: The position involves research and development within the area of the system software stack for large-scale technical computing systems, spanning a range from programming interfaces to new hardware up to programming models, languages, and compilers. The topics include (but are not limited to): Resilient distributed systems Novel network architectures and protocols Applied numerical optimization methods Computer architecture Compilers Programming Languages Runtimes Computational Science Methods and Libraries Performance Measurement and Analysis on emerging, very large systems. The position will participate in the research and development of new algorithms and software architectures to support these applications on a variety of underlying infrastructures, designing and implementing novel performance measurement techniques at multiple layers (application, end-host runtime, multiple networking layers), and adapting existing applications to use these architectures. The position is also responsible for supporting the generation of new funding from a variety of sources (NSF, DOE, other government agencies) by supporting proposal-generation activities.
Education Requirements: MS in Computer Science or related field or B.Sc. in Computer Science or related field with at least 5 years documented track record of relevant practical experience.
Qualification and Experience: The candidate is expected to have significant in-depth knowledge and experience in several of the following areas: Domain knowledge: Distributed systems architectures and algorithms. Networking concepts (TCP IP, Layer 2, transport networks, optical networks) Practical experience with OS (Linux) software development (e.g. drivers, networking stack). Operating system design, implementation, and interfaces. Programming language implementations: compilers and or runtime support. Performance measurement, analysis, and tuning. Large-scale technical computing applications and or systems. Software design and implementation: Practical software design practices (automated build and test procedures) Programming language experience: C and C ; Java (various frameworks, container technologies, web services), Scripting languages (Perl, Python others). Experience with OS Drivers. Communication skills: Successfully working in a collaborative multi-disciplinary research environment. Writing scientific papers for publication. Writing technical proposals.
Department Contact Name and Title: Debra McLaughlin RENCI UBC HR Lead
Department Contact Telephone Number or Email: 445-9693