You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -118,45 +120,47 @@ The benchmark data is stored in `data/benchmark/`:
118
120
119
121
## How to extend the benchmark
120
122
123
+
Consider this [MIT 6.824 Distributed Systems quiz](https://pdos.csail.mit.edu/6.824/quizzes/q25-2-sol.pdf). The steps below show how to add this exam to the benchmark. The same process applies to any course exam you want to include.
124
+
121
125
### Step 1: Add exam metadata to `exams_metadata.json`
122
126
123
-
Create a unique `exam_id` for your exam:
127
+
Create a unique `exam_id` for your exam. Here's the actual entry for the Spring 2024 Exam II:
"problem": "Explain the difference between a process and a thread.",
151
-
"answer": "A process is an instance of a running program with its own memory space, while a thread is a unit of execution within a process that shares the process's memory.",
"problem": "# III FaRM \n\nConsider the following statements about FaRM as described in No compromises: distributed transactions with consistency, availability, and performance. For each statement, circle True or False. \n\n4. [8 points]: \n\nTrue / False : Because FaRM uses primary-backup replication for a region (instead of Paxos), FaRM must reconfigure to remove a failed replica before FaRM can continue to use the region. \n\nTrue / False : FaRM can use short leases (10ms by default) because it has communication and scheduling optimizations to renew leases quickly. \n\nTrue / False : A transaction that modifies only one object will never abort. \n\nTrue / False : Read-only transactions require only the validate step of the Commit phase in Figure 4. ",
155
+
"answer": "True,True,False,True",
156
+
"explanation": "Answer: True, True, False, True. The first statement is true because FaRM requires a response from all replicas, thus it must reconfigure to remove the failed replica before it can continue with the affected shard. The third statement is false because another transaction may modify the one object causing this transaction's validation phase to fail (because the other transaction will have incremented the object's version number).",
157
+
"type": "True/False Questions"
154
158
}
155
159
```
156
160
157
161
Required fields:
158
162
159
-
-`instance_id`: Globally unique number (use next available number, currently 70+)
163
+
-`instance_id`: Globally unique number (use next available number)
160
164
-`exam_id`: Must match the `exam_id` from Step 1
161
165
-`problem_num`: Question number within the exam (1, 2, 3, ...)
0 commit comments