Program with multiple threads/processesSubmission Instructions1. Submit two files for each problem: 1) your C program, and 2) a screenshot in jpg format showing that your program really works.2. Name your scripts using the pattern NJITID#_Problem#.c, and name your screenshots using the pattern NJITID#_Problem#.jpg. NJITID# is the eight-digit NJIT ID (Not your UCID, Rutgers students also have NJIT IDs). Problem# is the problem number (e.g., 1, 2, 3, 4etc).3. Submit individual files. DO NOT SUBMIT A ZIP FILE.Objectives1. To learn how to divide computation tasks and distribute tasks into different threads/processes.2. To learn how to solve problems using multiple threads, particularly how to synchronize the execution of threads to avoid race condition.2. To learn how to solve problems using multiple processes, particularly how to exchange data between processes.3. To gain more experience with accessing files using memory mapping.Problem 1: Write a program that creates multiple worker threads to calculate the sum of float point values saved in a file. Each thread calculates a partial sum, and the main thread adds up the partial sums. Your program will read the float point values from a file and print out the sum on the screen. The number of worker threads, as well as the file containing the float point values, are specified in the command line. For example.problem_1 4 ./file_containing_valuesYou may use gendata.c attached with the assignment to generate the file. Your main thread can memory-map the file, such that the worker threads can access the float point values in the file easily.Problem 2: Write a program that creates multiple processes to multiply two matrices of float point values. One matrix is saved in a file. The other matrix is an identity matrix (https://en.wikipedia.org/wiki/Identity_matrix) of the same size. Your program should save the product matrix into another file. Because the product should be the same as the first matrix, you can easily check whether your program produce correct results by comparing the product matrix against the first matrix. Use cmp command to compare (https://linux.die.net/man/1/cmp).The number of processes, the file containing the first matrix, and the file saving the product matrix, should be specified in the command line. The identity matrix should be generated dynamically ( determine the size based on the size of the input file (i.e., the one containing the first matrix)).problem_2 4 ./file_containing_one_matrix ./file_saving_product_matrixYou may use gendata.c attached with the assignment to generate the file for the first matrix. To ensure correctness, your program can assume that each matrix is square (NxN). So, when you generate the input file, ensure that the number of float point values in the file is a square number (https://en.wikipedia.org/wiki/Square_number).To check the results, use cmpcmp ./file_containing_one_matrix ./file_saving_product_matrixRead manual of cmp for more on how to use it (https://linux.die.net/man/1/cmp).Hint:Your processes can memory-map the files to share data easily.Refer to the multi-threaded matrix multiplication program in the slides for how to multiple two matrices in parallel.Problem 3: Write a program that create multiple processes to calculate an approximation of π. Refer to the multi-threaded program calculating an an approximation of π in the slides. The number of processes and the number of terms required to calculate the approximation should be specified in the command line (refer to the program in the slides). You may choose an IPC method (pipe, FIFO, or shm) you like in your implementation. But, pipe fits most. FIFO and shm are over-kills.For more information on A Program with multiple Threads check on: https://en.wikipedia.org/wiki/Thread_(computing)
Why Choose Us
At Acme Writers, we always aim at 100% customer satisfaction. As such, we never compromise o the quality of our homework services. Our homework helpers ensure that they craft each paper carefully to match the requirements of the instruction form.
Professional Academic Writers
With Acme Writers, every student is guaranteed high-quality, professionally written papers. We ensure that we hire individuals with high academic qualifications who can maintain our quality policy. These writers undergo further training to sharpen their writing skills, making them more competent in writing academic papers.
Our company maintains a fair pricing system for all academic writing services to ensure affordability. Our pricing system generates quotations based on the properties of individual papers.
Acme Writers guarantees all students of swift delivery of papers. We understand that time is an essential factor in the academic world. Therefore, we ensure that we deliver the paper on or before the agreed date to give students ample time for reviewing.
Acme Writers maintains a zero-plagiarism policy in all papers. As such, Acme Writers professional academic writers ensure that they use the students’ instructions to deliver plagiarism-free papers. We are very keen on avoiding any chance of similarities with previous papers.
Customer Support 24/7
Our customer support works around the clock to provide students with assistance or guidance at any time of the day. Students can always communicate with us through our live chat system or our email and receive instant responses. Feel free to contact us via the Chat window or support email: support@Acme Writers.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
Our writers complete papers strictly according to your instructions and needs, no matter what university, college, or high school you study in.
Our Homework Writing Services
Acme Writers holds a reputation for being a platform that provides high-quality homework writing services. All you need to do is provide us with all the necessary requirements of the paper and wait for quality results.
At Acme Writers, we have highly qualified academic gurus who will offer great assistance towards completing your essays. Our homework writing service providers are well-versed with all the aspects of developing high-quality and relevant essays.
Admission and Business Papers
With Acme Writers, we will help you secure a position at your desired institution. Our essay writing services include the crafting of admissions papers. We will still help you climb your career ladder by helping you write the official papers that will help you secure a job. We will guide you on how to write an outstanding portfolio or resume.
Editing and Proofreading
Acme Writers has a professional editorial team that will help you organize your paper, paraphrase it, and eliminate any possible mistakes. Also, we will help you check on plagiarism to ensure that your final paper posses quality and originality.
Acme Writers harbors professional academic writers from diverse academic disciplines. As such, we can develop homework writing services in all academic areas. The simplicity or complexity of the paper does not affect the quality of homework writing services.