Paul Lu, PhD
Contact
Professor, Faculty of Science - Computing Science
- 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.