git.haldean.org ubik / 0230c04
update the status on the docs Haldean Brown 5 years ago
5 changed file(s) with 11 addition(s) and 24 deletion(s). Raw diff Collapse all Expand all
11 Haldean Brown First draft: May 2016
22 Last updated: May 2016
33
4 Status: Complete
4 Status: Obsolete
5 This document dates back from when everything was pairs of
6 words; now that tuples are a base type, ADTs are just tuples.
57
68 ------------------------------------------------------------------------
79
11 Haldean Brown First draft: Nov 2016
22 Last updated: Nov 2016
33
4 Status: In progress
4 Status: Complete
55
66 ------------------------------------------------------------------------
77
11 Haldean Brown First draft: Sep 2016
22 Last updated: Sep 2016
33
4 Status: Draft
4 Status: Needs revision
5 While the value encodings have remained the same, the scheduler
6 (now called the evaluator) has been significantly reworked to
7 improve performance; that section needs rewriting.
58
69 ------------------------------------------------------------------------
710
+0
-21
docs/schedule.txt less more
0 Parallel Scheduling ====================================================
1 Haldean Brown First draft: Dec 2016
2 Last updated: Dec 2016
3
4 Status: Draft
5
6 ------------------------------------------------------------------------
7
8 The Ubik scheduler takes Ubik values and produces their "base value":
9 for most kinds of values, this is just the value itself. For PAP or FUN
10 values with zero arity (fully-applied functions), this is the value
11 obtained by calling the appropriate function with the supplied
12 arguments, if applicable.
13
14 The scheduler takes a list of tasks to accomplish, calculates data
15 dependencies for each, and then executes them in turn. A number of
16 worker threads are then spawned, one monitor thread and N consumer
17 threads. The monitor thread's job is to keep the queue of ready tasks as
18 full as possible; the consumer threads' job is to accomplish tasks and
19 mark them as complete. The monitor observes the completed jobs and
20 pushes the newly-ready tasks onto the queue.
22 Last updated: Feb 2017
33
44 Status: Rejected
5 Once I started playing with the syntax, I realized this was fun
6 but also a completely different language from Ubik. I sort of
7 got carried away here.
58
69 ------------------------------------------------------------------------
710