Effects of Concurrent Execution Clojure Program Project
Demonstrate the effects of concurrent execution as a way of enhancing performance.
Write a program in Clojure that will read a text file containing unsigned integers. Your program will read in a large collection of integers and put them into a list. Using code in your program (i.e. NOT calling a library routine), sort the integers into order, using either the quicksort or mergesort algorithm. For the first pass, carry this out in a single-threaded program. Then, using Clojure’s parallelism options, repeat the sort of the original list, using 2, 4, 8, 16, and 32 threads. Repeat all sorts 5 times on the same hardware and report the average times. Do not count file access time as part of the sorting time. Plot the completion time as a function of the number of threads, and produce a short (1-2 page) document summarizing and explaining your results. The summary document should include charts or graphs as appropriate to summarize your data and support your findings.
You just need to submit your Clojure code and summary document.
*Two sample input files are attachedone with 500 integers, the other with 10,000. (The smaller will be faster for testing; use the larger one to get your final results.) In both, the first thing in the file is the number of integers in the file, followed by the specified number of values.
“Place your order now for a similar assignment and have exceptional work written by our team of experts, guaranteeing you A results.”
Attachments
20190513224940number_dat (12 kB)
20190513224945numbers (12 MB)