faq
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
faq [2021/03/16 15:09] – jxu | faq [2021/04/10 13:37] – jxu | ||
---|---|---|---|
Line 12: | Line 12: | ||
If any member of any assignment group wishes to receive any credit for any assignment, that assignment group would need to hand in the assignment on or before the assignment due date. | If any member of any assignment group wishes to receive any credit for any assignment, that assignment group would need to hand in the assignment on or before the assignment due date. | ||
+ | Also see the option in the Answer to Question 23. | ||
**Question 2:** | **Question 2:** | ||
Line 23: | Line 24: | ||
(even if in the whole group there is only one member who is | (even if in the whole group there is only one member who is | ||
willing to work to complete the assignment). | willing to work to complete the assignment). | ||
+ | |||
+ | Also see the option in the Answer to Question 23. | ||
**Question 3:** | **Question 3:** | ||
Line 167: | Line 170: | ||
algorithm is a greater challenge than we have the tools to solve. | algorithm is a greater challenge than we have the tools to solve. | ||
- | **Answer to Question 19**: You need to carefully read and study all the material listed | + | **Answer to Question 19**: You also need to carefully read and study all the material listed |
- | in the Answer to Question 18 above. As shown in the Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass, the performance of each algorithm for any workload, that is, the Average Waiting Time, and the Average Turnaround Time can all be calculated with pen and paper step-by-step. | + | in the Answer to Question 18 above. As shown in the Wednesday March 3 Lecture 14 video recording which explains the 2011N W21 Assignment 2 Example posted on eClass, the performance of each algorithm for any workload, that is, the Average Waiting Time, and the Average Turnaround Time, can all be calculated |
- | Note that, ANYTHING THAT CAN BE CALCULATED WITH PEN AND PAPER STEP-BY-STEP, | + | Note that, ANYTHING THAT CAN BE CALCULATED |
there is no need to get anything "to work in parallel", | there is no need to get anything "to work in parallel", | ||
- | parallel programming tools such as " | + | parallel programming tools such as " |
+ | |||
+ | **Question 20**: Because my group started working on Assignment 2 rather late, now it looks almost certain that we won’t be able to finish designing, and implementing any working Java program that is able to compute the average waiting times and average turnaround times for any given workload using all of the six scheduling algorithms as specified in Assignment 2. Yet we don’t want to completely give up on Assignment 2. Can you give us some advice on what we might consider doing for the programming part of Assignment 2 to at least get something done for the programming part, taking into consideration that we only have a few days left before the deadline to work on the assignment? | ||
+ | |||
+ | **Answer to Question 20**: As a first step, you may try to write the code only for a //**very basic and simple Java program**//, | ||
+ | |||
+ | * Each process //**only executes once on the CPU**// before terminating; | ||
+ | * Each process //**never does any I/O**// on any I/O device; | ||
+ | * All processes have the //**same single CPU Computation Time**//; | ||
+ | * Only the simplest //**C1. Nonpreemptive First-Come, First-Served (FCFS) CPU Scheduling**// | ||
+ | |||
+ | Note that in this very basic and simple system: | ||
+ | - There is only one single process queue – the ready queue, which is a FCFS queue; | ||
+ | - Whenever a process arrives, it is entered at the end of the ready queue; | ||
+ | - Whenever the CPU becomes available, the Nonpremptive FCFS CPU Scheduler always removes from the ready queue the process which is at the front of the ready queue, and allows that process to start executing on the CPU; | ||
+ | - Once a process starts executing on the CPU, it is never preempted, and always executes for the full duration of its CPU Computation Time before terminating. | ||
+ | - Whenever a process terminates, the CPU becomes available again. | ||
+ | |||
+ | Write the code so that the program allows the user to enter as input parameters the following: | ||
+ | * the number of processes; | ||
+ | * the Arrival Time of each process; | ||
+ | * the CPU Computation Time for each process; | ||
+ | |||
+ | |||
+ | Then try to write code which computes the Average Waiting Times and Average Turnaround Times for any set of user input parameters above. | ||
+ | |||
+ | //**Once you have got the code for the very basic and simple Java program described above working, then try to gradually add additional features, in order of difficulty, to the code**//. For example: | ||
+ | - First try to allow processes to have // | ||
+ | - Then try using //**C2. Nonpreemptive Shortest-Job-First (SJF) Scheduling**// | ||
+ | - Then try using //**C4. Nonpreemptive Priority Scheduling**// | ||
+ | - Then try using some of the // | ||
+ | - Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling only use one of the // | ||
+ | - Then try to allow each process to make //**one single request to perform I/O**// for some I/O Time on one single I/O device after completing its first CPU Computation Time, while for CPU Scheduling use some of the // | ||
+ | - … | ||
+ | |||
+ | (Add additional features one-by-one in this gradualist fashion, and just try to add as many features as possible before the assignment deadline.) | ||
+ | |||
+ | When adding each additional feature, write the code so that the program allows the user to enter as input parameters the following: | ||
+ | * the number of processes; | ||
+ | * the Arrival Time of each process; | ||
+ | * the Priority of each process; | ||
+ | * the Sequence of CPU Computation Time and I/O Time Requirements for each process; | ||
+ | |||
+ | When adding each additional feature, write code which computes the Average Waiting Times and Average Turnaround Times for | ||
+ | any set of user input parameters above. | ||
+ | |||
+ | **Question 21**: For assignment 2, do we implement all the different schedulers mentioned in section C of the assignment document? Or do we pick just one of them to implement? | ||
+ | |||
+ | **Answer to Question 21**: Assignment 2 requires implementing ALL the different schedulers mentioned in section C of the assignment document. | ||
+ | |||
+ | **Question 22**: Does every group member have to submit the assignment 2 or can one person do it? | ||
+ | |||
+ | **Answer to Question 22**: Assignment 2 can be submitted by one member of each group. | ||
+ | |||
+ | **Question 23**: I believe that my entire group’s work on Assignment 2 and /or my own individual contribution to Assignment 2 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond our / my control. Can accommodation be provided in such cases? | ||
+ | |||
+ | **Answer to Question 23**: If you believe that your entire group’s work on Assignment 2 and /or your own individual contribution to Assignment 2 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond your control, you may fill out a Request for Special Consideration form, and submit it to eClass on or before one week (7 days) from the Assignment 2 due date, and the weight of your Assignment 2 will be transferred to the weight of your 2011N W21 final exam. | ||
+ | |||
+ | **Question 24**: For designing two systems for searching, inserting, and deleting key-value pair entries, what kind of data are we managing? | ||
+ | |||
+ | **Answer to Question 24**: Your question has already been answered by the Assignment 3 specification: | ||
+ | |||
+ | “… | ||
+ | Section 1.1. System Characteristics, | ||
+ | |||
+ | (a) Each entry in the system consists of a key-value pair (k, v), where k is the key and v is the value. | ||
+ | |||
+ | (b) The key for each entry is unique, that is, two different entries will not have a same key. The key for each entry is a character string. No advance knowledge can be assumed about other characteristics of the keys. | ||
+ | |||
+ | |||
+ | (c) The number of entries in the system can be very large, but the system can still fit into main memory. | ||
+ | |||
+ | |||
+ | (d) Search, insertion and deletion operations on the entries in the system are equally likely. | ||
+ | |||
+ | (e) The primary system performance criteria is speed, that is, under normal circumstances the search, insertion, and deletion operations should be as fast as possible. However, since this is an embedded automotive information system, the system is also expected to be robust in the sense that one should still be able to guarantee good, predictable, | ||
+ | …” | ||
+ | |||
+ | **Question 25**: For Assignment 3, are we making an interface of some kind of IVIS? | ||
+ | |||
+ | **Answer to Question 25**: No, there is no need to make an interface of some kind of specialized IVIS. The interface only needs to be able to input data that is of the type that is specified in Section 1.1 (a) – (e) of the Assignment 2 specification. | ||
+ | |||
+ | **Question 26**: Will we be getting an example for Assignment 3? | ||
+ | |||
+ | **Answer to Question 26**: No. There is no need for an example for Assignment 3. | ||
+ | |||
+ | **Question 27**. What would be a good way to approach and think about Assignment 3? | ||
+ | |||
+ | **Answer to Question 27**: Imagine that a software company working for a consortium of automotive industries is anticipating that there is going to be an explosion in demand for high performance, | ||
+ | |||
+ | Since the software company working for the consortium of automotive industries does not know the exact details of what kind of high performance, | ||
+ | |||
+ | “(a) Each entry in the system consists of a key-value pair (k, v), where k is the key and v is the value. | ||
+ | |||
+ | (b) The key for each entry is unique, that is, two different entries will not have a same key. The key for each entry is a character string. No advance knowledge can be assumed about other characteristics of the keys. | ||
+ | |||
+ | |||
+ | (c) The number of entries in the system can be very large, but the system can still fit into main memory. | ||
+ | |||
+ | |||
+ | (d) Search, insertion and deletion operations on the entries in the system are equally likely. | ||
+ | |||
+ | (e) The primary system performance criteria is speed, that is, under normal circumstances the search, insertion, and deletion operations should be as fast as possible. However, since this is an embedded automotive information system, the system is also expected to be robust in the sense that one should still be able to guarantee good, predictable, | ||
+ | …” | ||
+ | |||
+ | **Question 28**: Do we assume the key is always enter as a string or do we assume the key can be defined under any object? | ||
+ | |||
+ | **Answer to Question 28**: Assignment 3 requires you to provide two basic software systems with significantly different designs that allows any user, or any higher level automotive information system application, | ||
+ | |||
+ | **Question 29**. Is there any way that my group and I can get an extension on the due date for Assignment 3? | ||
+ | |||
+ | **Answer to Question 29**: Because the due date of Assignment 3, Tuesday April 13, 2021, falls on the Last Day to Hand In Term Work according to the University Regulations, | ||
+ | |||
+ | **Question 30**: I believe that my entire group’s work on Assignment 3 and /or my own individual contribution to Assignment 3 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond our / my control. Can accommodation be provided in such cases? | ||
+ | |||
+ | **Answer to Question 30**: If you believe that your entire group’s work on Assignment 3 and /or your own individual contribution to Assignment 3 has been severely and negatively impacted by one or more abnormal circumstances / factors / situations beyond your control, you may fill out a Request for Special Consideration form, and submit it to eClass on or before one week (7 days) from the Assignment 3 due date, and the weight of your Assignment 3 will be transferred to the weight of your 2011N W21 final exam. | ||
+ | |||
+ | **Question 31**. In the implementation of the two systems are we allowed to use the Java implemented structures in java.util such as Tree Map and HashMap? | ||
+ | |||
+ | **Answer to Question 31**: The Assignment 3 specification states that, “You are required to apply the concepts of data structures and algorithms that you have learned in this course to design, analyze, implement, test, document, and compare in detail two (2) systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs ....” | ||
+ | Please note that: | ||
+ | |||
+ | a) The Assignment 3 specification asked you to “… __// | ||
+ | |||
+ | b) The Assignment 3 specification did NOT ask you to __// | ||
+ |
faq.txt · Last modified: 2021/04/26 22:20 by jxu