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.
MapReduce:
Programmer's responsibility:
System's responsibility:
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.
A good parallel library for matrix operations can be useful.