Previous | Next --- Slide 6 of 47
Back to Lecture Thumbnails
apk

MapReduce:

Programmer's responsibility:

  • Present data in key-value form (most commonly in a text file)
  • Implement the algorithm in map-reduce fashion and implement the 2 functions

System's responsibility:

  • Run the tasks in parallel
  • Synchronize the distributed servers
  • Manage communications and data transfers
  • Provide fault tolerance
thunder

Liszt system can be responsible for detecting parallelism in the program, while for Halide the user of the system should describing the schedule. The reason is that Liszt is used by physics engineers who are not quite familiar with programming, so if the system can decrease the runtime for some amount, the engineers will be happy. On the other hand, the application written in Halide needs to be the very very fast and the users are actually programmers. Therefore, the users cannot be satisfied by only decreasing the runtime for some amount. If there is no TA Ravi's work and the best performance wants to be achieved, the users must be responsible for describing the schedule.

pdp

A good parallel library for matrix operations can be useful.