Developing a Multithreaded Service in Java - Implements a Multithreaded Service - Computer Science Assignment Help

Download Solution Order New Solution
Assignment Task :

You will be asked to read the paper on BTRFS (the Linux B-tree File System) by Rodeh et al. (see the attached PDF file) and answer the questions listed below. You are allowed to refer not only to this report, but also additional sources (lecture slides, the OS Concepts book, other papers and books, etc.), if you wish, when motivating your replies. You will also have a practical task related to implementation and monitoring of a multithreaded service in Java described below, which you will carry out by completing the partial implementation provided to you (see the attached Java source code file).

Task 1: BTRFS and Related Systems
Please provide (and motivate) answers for the following questions (mainly based on the article by Rodeh et al.):
1. Did some of the earlier file systems supported by Linux before BTRFS focus on support for larger volumes of stored data? If yes, which ones?
2. Does BTRFS share any ideas and design goals with ZFS? If yes, which ones?
3. What is the "extent" concept used for storage by BTRFS? What are its pros and cons compared to the alternative approaches?
4. Which structures does BTRFS use to support larger storage devices and map between physical and logical storage space?
5. Does BTRFS support copy-on-write? If yes, is it possible to disable it? Could such an approach have impact on performance and fragmentation?
6. Do changes to the file system immediately get written to the disk, when using BTRFS? How does this proceed?
7. Did Rodeh et al. discover large differences in performance between BTRFS and ZFS in their comparisons? How/why?
8. Which workloads did Rodeh et al. use for their benchmark tests with FileBench? How did BTRFS compare to the more mature file systems in these tests?

 

Task 2: Developing a Multithreaded Service in Java
In this task, you are going to develop a program in Java that implements a multithreaded service that uses several threads to execute long-running tasks. See the   As the guiding material, you could use the demos provided alongside 
Your specific tasks for this part of the assignment include the following:

1. Implement a program in Java that satisfies functional requirements listed below (also see the additional requirements for your code below this list):
 The execution of the tasks proceeds for the specified total time (in milliseconds); note that real (clock) time is used for this task, in contrast to Individual Assignment 2, which relied on loop iterations as abstract time units / CPU ticks.

  •  The total number of tasks is limited to a specific number. As the tasks are created, they must be provided with sequential IDs (0, 1, 2, ...)
  •  The total burst time (duration) for each task is determined randomly (using a uniform distribution) between the given minimum and maximum burst time.
  •  The task to be assigned to a thread for execution is selected sequentially (first, task with ID 0, then task with ID 1, etc.).
  •  The total number of threads is specified by the value given in the source code.

 As the task is being executed by a thread, it is not expected to do any specific work (calculations, etc.), but rather simply go to sleep for X milliseconds (value specified in the source code) repeatedly until its complete burst time (duration) passes. Then it is considered to be complete.
 When the simulation time is up, it should make sure to stop all of the currently executing and waiting threads and tasks!
 After that, it should print the results in the way specified in the source code file (details about the completed tasks, and lists of IDs for the incomplete/interrupted tasks as well as waiting/non-scheduled tasks).
 The implementation should run several simulations (the number of simulations is specified in the main() function in the provided source code file). Afterwards, it must stop/terminate cleanly (i.e., it should not remaining running due to incomplete threads...)
 

2. Run the implementation and capture the results in your report (several screenshots + text output for all simulation results).
 

 

This Computer Science Assignment has been solved by our Computer Science Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.