Paul Lu, PhD

Professor, Faculty of Science - Computing Science

Contact

Professor, Faculty of Science - Computing Science
Email
paullu@ualberta.ca

Overview

About

Education

  • B.Sc., Computing Science, University of Alberta, 1991
  • M.Sc., Computing Science, University of Alberta, 1993
  • Ph.D., Computer Science, University of Toronto, 2000

Positions

  • Department Associate Chair (Undergraduate)

Research

Area

Software Systems

Interests

Parallel and distributed systems, operating systems, cloud computing, high-performance wide-area networks, bioinformatics.

Summary

I am interested in all aspects of high-performance computing, but especially parallel and distributed systems, and cloud computing. My research program centers on systems software (OS, VMs, parallel programming) and, most recently, high-performance data transfers and IaaS cloud computing.

Courses

CMPUT 379 - Operating System Concepts

Introduction to the structure, components, and concepts behind modern general-purpose operating systems. Processes: process state transitions; operations on processes; interrupt processing; multiprocessor considerations; resource allocation; synchronization; critical sections and events; semaphores; deadlock: avoidance, detection, and recovery; memory management; virtual memory; paging and segmentation; page replacement strategies; working sets; demand paging; process scheduling; scheduling algorithms; file system functions; file organization; space allocation; virtual machines. Prerequisites: CMPUT 201 and 204, or 275; one of CMPUT 229, E E 380 or ECE 212.


CMPUT 481 - Parallel and Distributed Systems

This course provides an undergraduate-level introduction to parallel programming, parallel and distributed systems, and high-performance computing in science and engineering. Both shared-memory parallel computers and distributed-memory multi computers (e.g., clusters) will be studied. Aspects of the practice of, and (some) research issues in, parallelism will be covered. There will be an emphasis on thread programming, data-parallel programming, and performance evaluation. Prerequisite: CMPUT 379.


CMPUT 499 - Topics in Computing Science

This topics course is designed for a one on one individual study course between a student and an instructor. Prerequisites are determined by the instructor in the course outline. See Note (3) above.


CMPUT 605 - Topics in Computing Science


CMPUT 681 - Topics in Parallel and Distributed Systems


MINT 706 - Internet Application and Programming

Concepts of Internet Applications. Sockets, client-server programming, proxies and gateways, performance, application programming, basic security, example application protocols: SMTP, HTTP, and how to implement them. Possible source code inspection exercises covering wget/HTTP. Offered jointly by the Department of Electrical and Computer Engineering and the Department of Computing Science.


Browse more courses taught by Paul Lu