Systems Comprehensive Exam Topics

Useful Links

Sys comps. home

Weighted comps. Topics

Questions in chronological order

Questions sorted by topic


2007 cs591: Networks and Distributed Systems


The CS department's Comprehensive Exams page with general information, and information about all three parts of the exam.

About This Page

The table below lists the topics that have been covered by the UNM computer science Ph.D. comprehensive exam over the last ten years or so.

To the right of each sub-category are the question numbers for that particular category, the year they were asked, and how many points they were worth. Clicking on the question number will lead you to the question in a list sorted by topic. Clicking on the year will lead to the chronologically ordered list.

Each topic receives a weight and rank based on how recent questions have been asked about it, how many questions there were about that topic in all of the available exams, and how many points they were worth. Note that some questions appear more than once, if they fit into multiple categories.

The Gnumeric spreadsheet used to generate this table is available here.

Topic Weight Topic Weight Rank Topic Rank Year Question Points Year Q? Points Year Q? Points Year Q? Points
Distributed systems
Consistency and coherence 16.6 3
(Sequential, weak, causal, entry, release, PRAM) consistency and coherence 4.6 2 2003.0 1.3 15.0 2003.5 3.2 10.0 2005.5 3.3 20.0 2007.5 2.4 10.0
Memory model comparisons 0.9 85 2005.0 2.4 10.0
Causal consistency: vector timestamps vs. sequencer process 1.8 40 2005.5 3.3 20.0
Two-phase commit protocol for distributed transactions 1.6 50 2004.5 3.3 20.0
ACID properties of transactions 2.1 28 2007.0 3.1 20.0
Ubiquitous computing; data exchange 2.4 22 2004.5 4.2 30.0
Consistency vs. performance 3.1 5 2007.0 4.1 30.0
Synchronization 14.6 4
Optimistic synchronization and concurrency control 1.9 35 2006.0 3.2 20.0
Distributed clocks (Lamport, ordering) 3.1 7 2006.5 3.2 20.0 2007.5 2.2 10.0
Disconnection in sensor systems 2.9 11 2006.0 4.2 30.0
Election algorithms 0.2 121 1997.0 1.1 20.0
Memory write barrier 1.1 58 2007.5 2.1 10.0
     Collective communication (e.g. ring) 2.2 25 2007.5 3.3 20.0
Degradation (fault tolerance, sensor/node blackouts) 3.3 3 2007.5 4.1 30.0
Networking
Design 9.5 8
Network (distributed) file system 1.4 56 1999.5 1.3 20.0 2003.5 3.1 10.0
Memory bus vs. network speed 0.0 128 1998.5 1.8
OS bypass 1.5 54 1998.5 1.8 20.0 2001.5 1.7 20.0
OSI/ISO 7-layer model 0.9 85 2000.5 1.5 20.0
Ubiquitous computing; data exchange 2.4 22 2004.5 4.2 30.0
Header (packet) processing in a layered system 0.8 95 2004.0 3.1 10.0
Intelligent networks and apps.; e.g. a file system 2.6 19 2005.0 4.2 30.0
RPC 2.7 20
RPC marshaling 0.7 103 2003.5 2.3 10.0
RPC and scheduling (migrating threads) 2.0 32 2006.5 3.3 20.0
Physical layer characteristics 1.7 23
(Media) access guarantee in token ring and Ethernet 0.8 95 2004.0 2.4 10.0
Media access: CSMA/CD 1.0 73 2006.0 2.2 10.0
Routing 3.9 16
Distance vector routing vs. link state routing 2.9 10 2005.5 2.4 10.0 2006.5 3.1 20.0
Routers (network layer) vs. switches (MAC layer) 1.0 69 2006.5 2.3 10.0
Protocols 4.5 15
IP fragmentation and reassembly 1.1 58 2007.5 2.3 10.0
Time wait in TCP/IP 0.9 85 2005.0 2.3 10.0
Congestion control vs. flow control (in trasport protocol) 1.7 45 2003.0 1.8 15.0 2003.5 2.4 10.0
TCP slow start for congestion control 0.8 92 2004.5 2.2 10.0
System design 11.6 5
Interrupt latencies vs. processor speed 1.0 73 2001.0 1.4 20.0
Memory latency vs. processor speed 0.2 121 1997.0 1.7 20.0
Bandwidth (easy) vs. latency (hard) 1.0 73 2001.0 1.5 20.0
Non-volatile memory with different performance characteristics 1.8 43 2003.5 4.1 25.0
Power management; e.g. disk control from OS or app 1.9 35 2004.0 4.1 25.0
Checkpoint-restart (e.g. with local non-volatile memory) 1.9 35 2004.0 4.2 25.0
TLB faults handled by hardware or software 0.8 92 2004.5 2.3 10.0
Component diagnostics 3.1 5 2007.0 4.2 30.0
Operating systems
Basics 11.4 7
Context switching 0.9 85 2000.5 1.2 20.0
Resource allocation 0.4 111 1998.5 1.4 15.0
Memory allocation (fragmentation) 1.0 61 2007.0 2.2 10.0
Addressing: virtual vs. physical, TLB, etc. 1.9 38 2000.5 1.3 20.0 2003.0 1.4 15.0
Polling vs. interrupts 1.0 61 2007.0 2.4 10.0
Priority inversion 0.7 103 2003.5 3.1 10.0
Double buffering 2.1 28 2007.0 3.3 20.0
Deadlock (avoidance vs. prevention) 1.7 45 2005.5 2.1 10.0 2004.5 2.4 10.0
Locking: spin locks vs. blocking locks 1.7 47 2005.0 3.2 20.0
Design 11.5 6
OS for a PDA 1.0 61 2001.5 1.1 20.0
OS for an SMP 1.0 61 2001.5 1.6 20.0
Design: Java OS 0.7 106 1999.5 1.1 20.0
Microkernels, monolithic, monolithic w/ loadable module, exo/library kernels, hypervisors 2.7 18 2001.0 1.3 20.0 2005.0 3.3 20.0
Hardware Abstraction Layer (HAL) 0.7 106 1999.5 1.2 20.0
Single address space OSes 0.8 91 1999.5 1.4 25.0
Policy and mechanism (in hypervisors and microkernels) 1.8 40 2005.5 3.4 20.0
Future operating systems 2.7 15 2005.5 4.2 30.0
Process/thread scheduling 8.4 9
Algorithms; e.g. shortest job first 0.8 95 2004.0 2.3 10.0
Scheduling in an SMP 2.6 19 2005.0 4.1 30.0
Multi-level queques 0.4 111 1998.5 1.2 15.0
Scheduling and load management 2.7 15 2005.5 4.1 30.0
Cache affinity 1.0 73 2006.0 2.4 10.0
Throughput vs. response time 1.0 61 2007.0 2.3 10.0
IPC 0.2 24
Shared memory, messages, RPC 0.2 116 1997.5 1.2 15.0
Advanced 5.7 12
User code inside the kernel 1.0 73 2001.0 1.2 20.0
OS bypass 1.5 54 1998.5 1.8 20.0 2001.5 1.7 20.0
Process migration 1.6 50 2004.5 3.2 20.0
Up-calls and scheduler activations 1.6 50 2004.5 3.4 20.0
Paging 21.2 1
Trade-offs of page size 0.8 95 2004.0 2.2 10.0
Working set model (paging) 1.0 69 2003.0 1.2 15.0
Virtual memory (paging, addressing) 3.3 3 2007.5 4.2 30.0
Load control (trashing) 0.2 121 1997.0 1.3 20.0
Page sharing in an SMP (algorithm for page table) 0.8 95 2004.0 3.2 10.0
Page prefetching 2.4 22 2004.5 4.1 30.0
Page replacement algorithms (e.g. clock algorithm) 1.9 38 2005.5 2.2 10.0 2006.0 2.1 10.0
Demand page hit rate 1.0 73 2001.0 1.6 20.0
Swap cache 2.2 25 2007.5 3.1 20.0
Handling of copy on write (COW) 2.8 13 2003.5 4.2 25.0 2006.5 2.4 10.0
Page miss details 2.1 28 2007.0 3.2 20.0
Levels of page tables, inverted page tables 2.9 11 2001.5 1.2 20.0 2005.5 3.2 20.0
Synchronization 2.2 21
Multiple producers/consumers (locking vs. compare and swap) 2.2 25 2007.5 3.2 20.0
Memroy write barrier 1.1 58 2007.5 2.1 10.0
Device drivers 4.5 14
Virtualization 3.0 8 2006.5 4.1 30.0
Abstraction 0.2 121 1997.0 1.2 20.0
SCSI bus vs. Ethernet "bus" 0.5 109 1998.5 1.5 20.0
SCSI bus with different types of devices 0.9 85 2000.5 1.1 20.0
File systems 17.1 2
VFS layer (uniform access to multiple file systems) 1.0 61 2001.5 1.3 20.0
Log-structured (journaling) 5.0 1 1997.5 1.1 15.0 2005.0 2.2 10.0 2005.5 2.3 10.0 2006.5 4.2 30.0
Berkely Fast File system with extents 3.0 8 2006.5 4.2 30.0
Caching 1.8 44 2001.5 1.4 20.0 2003.5 3.3 10.0
File caching in Plan 9 0.2 116 1997.5 1.4 15.0
Abstraction 0.2 121 1997.0 1.2 20.0
Network (distributed) file system 0.9 84 1997.5 1.5 15.0 1999.5 1.3 20.0
Performance 0.4 111 1998.5 1.1 15.0
What does "mount" do (in the OS) 1.0 73 2001.0 1.1 20.0
Logical file offsets vs. physical disk offsets (Unix inodes) 1.0 61 2001.5 1.2 20.0
(old) Unix file system 1.0 69 2006.5 2.1 10.0
Meta data vs. user data 0.8 95 2004.0 3.3 10.0
Consistency (fsck) 1.0 73 2006.0 2.3 10.0
Security and Protection 3.5 17
Authentication, Protection 2.0 31 1997.0 1.4 20.0 2000.5 1.4 20.0 2003.0 1.7 15.0
Access Control Lists 1.3 57 1997.5 1.3 15.0 2007.0 2.1 10.0
Access list method vs. matrix model 0.2 114 1998.5 1.3 10.0
Architecture
Paging 1.8 22
Inverted page tables 0.2 116 1997.5 1.6 15.0
Trade-offs of page size 0.8 95 2004.0 2.2 10.0
TLB faults handled by hardware or software 0.8 92 2004.5 2.3 10.0
Pipelining 3.1 19
General 0.9 83 1997.0 1.6 20.0 2003.5 2.1 10.0
Pipeline hazards (4 types) 0.2 116 1997.5 1.7 15.0
Super-scalar, super-pipeline, very large instruction words (VLIW) 2.0 34 2001.0 1.7 20.0 2003.0 1.6 15.0
CPU 7.8 11
Instruction Scheduling 0.7 105 1997.5 1.1 15.0 1998.5 1.7 20.0
Instruction set architecture 0.5 109 1998.5 1.7 20.0
Branching (prediction, evaluation) 2.8 14 2001.5 1.5 20.0 2003.0 1.5 15.0 2003.5 2.2 10.0
Memory barrier 0.5 108 1999.5 1.6 15.0
Out of order completion 1.6 50 2004.5 3.1 20.0
Addressing modes: page address translation vs. base and bound addressing 1.7 47 2005.0 3.1 20.0
Trends 3.5 18
Trends in processor, memory, and networks 1.7 49 1999.5 1.7 20.0 2003.0 1.1 15.0
Processor-in-memory (PIM), Intelligent RAM (IRAM) 1.0 69 2003.0 1.1 15.0
1 GHz, 1 GB, 1Gb/s in 2000? What about 2010? 0.9 85 2000.5 1.6 20.0
Caching 8.1 10
Alias problem in virtually index and tagged caches 0.8 95 2004.0 2.1 10.0
Cache hit rate 1.0 73 2001.0 1.6 20.0
Unified vs. split caches, direct-mapped vs. associative, size, line width, levels, etc. 1.8 40 2005.5 3.1 20.0
Write-through vs. write-back (in an SMP) 2.0 33 1998.5 1.6 5.0 2005.0 2.1 10.0 2006.5 2.2 10.0
Write-back and coherence 0.2 114 1998.5 1.6 10.0
Snooping cache coherence protocol 0.2 116 1997.5 1.8 15.0
Types (3) of cache misses 1.0 68 1997.5 1.9 15.0 2004.5 2.1 10.0
Cache affinity (scheduling) 1.0 73 2006.0 2.4 10.0
Addressing: virtual vs. physical 0.2 121 1997.0 1.5 20.0
Memory 5.5 13
Memory wall (latency), attempted solutions, modern processors, etc. 2.6 21 1999.5 1.7 20.0 2006.0 3.1 20.0
Memory wall (latency) and multithreading and out-of-order execution 0.2 121 1997.0 1.7 20.0
Consistency and coherence in an SMP 2.7 17 1999.5 1.5 25.0 2000.5 1.7 20.0 2003.0 1.3 15.0

Calculations
Latest 2008
Earliest 1997
Duration 11
Age weight 11
Question weight 0

 


Last updated November 1, 2007 by riesen@cs.unm.edu

Valid HTML 4.0! Valid CSS! Made with cascading style sheets Promote VI and the Gimp to create WEB pages!