CIS4307: Selected Topics
First Lecture: Almost for Fun ..
Concurrency, Performance, and other Preliminaries
Understanding Concurrency:
Interleavings
Spinlocks and Semaphores
Franke, Russell,Kirkwood: Fuss, Futexes and Furwocks: Fast UserLevel Locking in Linux
Drepper: Futexes are Tricky
Readers and Writers
Monitors
Transactional Memory
Simon Peyton-Jones: Beautiful Concurrency
File Structure - Stable Storage
Princeton University CS598e: Distributed Storage Systems
GPUs, GPGPUs, and CUDA
J.Nickolls, I.Buck, M.Garland, K.Skadron: Scalable Parallel Programming
CUDA Tutorial
CUDA Education Site
Virtual Machines
VMware and Virtualization
Microsoft and Virtualization
CITRIX and Virtualization
RedHat and Virtualization
User Mode Linux
Performance Evaluation
Rules of Thumb in Data Engineering
Lazowska et al: Quantitative System Performance
Unix Programming
Unix I: process management and file commands
Unix II: errors, pipes, FIFOs, protection, file locks, shared memory, and memory-mapped IO
Using Read and Write Locks: Example
The ZFS File System
Measuring Time
lmbench:
Tools for Performance Analysis
Performance Analysis Results using LMBENCH
Sun Performance Information
Signals
Tutorial on Signals by Jim Frost (Software Tool & Die)
Threads:
Part I
,
Part II
Livermore: Posix Threads Programming
Unix III: select
Unix IV: Sockets
Suggestions for
high performance servers
The 1000 clientes
server problem
Java Facilies including the equivalent of Select
Daemons
Networks
Introduction to Network Architectures
Data Transmission
Packet Transmission
Network Protocol Architectures
Examples of Layers and Protocols
Structure and Naming in the Internet
Subnetting and CIDR
(Connected: An Internet Encyclopedia)
See also
RFC1812
For Networks see also:
James Kurose, Keith Ross: Computer Networking
Peterson, Davie: Computer Networks: A Systems Approach
Introduction to Networks
,
Unix Scavenger Hunt
,
Protocol Analysis using Lanwatch
, by
Professor Robert Stafford (Temple University)
The Network Book by Professor Yechiam Yemini (Columbia University)
CISCO's Information on Networking
3COM White Papers on Networking
Connected: An Internet Encyclopedia
Internet Engineering Curriculum Repository
Distributed Systems
Introduction to Distributed Systems, Middleware, and Client-Server and Peer-to-Peer Systems
Fallacies of Distributed Computing Explained
Pai, Druschel, Zwaenepoel: Flash: An Efficient and Portable Web Server
Transactions
Transaction Processing Concepts and Techniques
Remote Procedure Calls
Tom Doeppner: - Brown University - Remote Procedure Calls
Douglas C. Schmidt: - Washington University - Overview of Remote Procedure Call
Digital Unix: Programming with ONC RPC
Sun's ONC+ Developer's Guide
Waldo,Wyant,Wollrath,Kendall: A Note on Distributed Computing
Security
Introduction to Public-Key Cryptography (Netscape)
Introduction to the Secure Sockets Layer (SSL) (Netscape)
RSA Laboratories FAQ
RedHat Security info
Cheswick-Bellovin: Firewalls and Internet Security
Menzes, van Oorschot, Vanstone: Handbook of Applied Cryptography
BarcodesInc: Cryptography
Mutual Exclusion and Elections in Distributed Systems
Logical Clocks
Massive Information Processing and Fault-Tolerance: The Google Approach
Jeff Dean Keynote
2009 Workshop on Large Scale Distributed Systems and Middleware
Brewer's CAP Theorem
The challenges of Latency
The Cloud Tutorial
Towards 2020 science