文档介绍:Google puting Faculty Training Workshop
Module II: Student Background Knowledge
This presentation includes course content © University of Washington
Redistributed under the mons Attribution license.
All other contents:
© Spinnaker Labs, Inc.
Background Topics
Programming Languages
Systems:
Operating Systems
File working
Databases
© Spinnaker Labs, Inc.
Programming Languages
MapReduce is based on functional programming map and fold
FP is taught in one quarter, but not reinforced
“Crash course” necessary
Worksheets to pose short problems in terms of map and fold
Immutable data a key concept
© Spinnaker Labs, Inc.
Multithreaded programming
Taught in OS course at Washington
Not a prerequisite!
Students need to understand multiple copies of same method running in parallel
© Spinnaker Labs, Inc.
File Systems
Necessary to understand parison to NFS, other distributed file systems relevant
© Spinnaker Labs, Inc.
Networking
TCP/IP
Concepts of “connection,” network splits, other failure modes
Bandwidth issues
© Spinnaker Labs, Inc.
Other Systems Topics
Process Scheduling
Synchronization
Memory coherency
© Spinnaker Labs, Inc.
Databases
Concept of shared consistency model
Consensus
ACID characteristics
Journaling
Multi-mit processes
© Spinnaker Labs, Inc.
Parallelization & Synchronization
© Spinnaker Labs, Inc.
Parallelization Idea
Parallelization is “easy” if processing can be cleanly split into n units:
© Spinnaker Labs, Inc.