Sean McBride
d1f80d8b1e
chore: port simple doc and error handlign
5 years ago
Sean McBride
2f164c3430
chore: refactor our sandbox_request_t
5 years ago
Sean McBride
407a20d22a
chore: refactor out u64
5 years ago
Sean McBride
5ccf8bbd87
chore: organize preprocessor includes
5 years ago
Sean McBride
1c2aa448cd
chore: rename scheduler interfaces and variants
5 years ago
Sean McBride
29201f737d
docs: Use style guide format for comments
5 years ago
Sean McBride
218893ed3b
feat: Non-crashing demo state
5 years ago
Sean McBride
3caecadefe
feat: Implement peek in ps
5 years ago
Sean McBride
996c147928
fix: correct runqueue cleanup bug
5 years ago
Sean McBride
83ee42e89b
chore: break up runtime and worker_thread
5 years ago
Sean McBride
61c7ccea0c
feat: implement PQ-based runqueue
5 years ago
Sean McBride
f5f9c168c6
chore: Simplify worker scheduling
5 years ago
Sean McBride
307f7c0d59
chore: encapsulte http_parser_settings
5 years ago
Sean McBride
d08e3b7f54
chore: refactore flags to bools
5 years ago
Sean McBride
321e26577d
chore: replace in_interrupt with bool
5 years ago
Sean McBride
82f79b1ed4
chore: simplify event loop
5 years ago
Sean McBride
d42370c357
chore: simplify sandbox_allocate
5 years ago
Sean McBride
c2c6332bc1
chore: encapsulate completion queue
5 years ago
Sean McBride
0de94ed7c2
chore: cleanup additional run_queue logic
5 years ago
Sean McBride
dafa257273
chore: encapsulate current_sandbox
5 years ago
Sean McBride
403b167a7e
chore: refactor out sandbox_run_queue
5 years ago
Sean McBride
1999a97c8f
feat: Implement basic ps for sandbox requests
5 years ago
Sean McBride
6a7bbc2e97
feat: add deadline logic
5 years ago
Sean McBride
6eb5825b55
refactor: implement sandbox request interface
5 years ago
Sean McBride
34d91cfa21
refactor: wrap existing request queue
5 years ago
Sean McBride
0ace3119e6
chore: revert to __getcycles
5 years ago
Sean McBride
a949cbebe3
chore: refactor double underscores
5 years ago
phani
7ff05b9d73
making it work for aarch64 - seem to work on RPi
...
* changes to be fully tested!
* cas etc needs to be implemented for aarch64
5 years ago
Sean McBride
a70a83326c
chore: de-dunder worker_thread
5 years ago
Sean McBride
a771b78a92
chore: de-dunder software_interrupt
5 years ago
Sean McBride
fefd80d6a9
chore: de-dunder sandbox
5 years ago
Sean McBride
ba032a5905
chore: de-dunder runtime
5 years ago
Sean McBride
4d660e666b
chore: de-dunder listener thrd, module, libuv cbs
5 years ago
Sean McBride
4615c4736d
chore: de-dunder http_parser_settings
5 years ago
Sean McBride
d64ca75c4e
chore: de-dunder current_sandbox
5 years ago
Sean McBride
9dfc740d05
chore: namespace macros and globals in main.c
5 years ago
Sean McBride
3cbb7f0748
chore: rename nested namespaces pending refactor
5 years ago
Sean McBride
2640f3a44f
chore: rename single_loop to be descriptive
5 years ago
Sean McBride
25bdc18118
chore: rename sigint to signal_interrupt in files
5 years ago
Sean McBride
7ba5a3acbe
chore: rename softint to software_interrupt
5 years ago
Sean McBride
21d9cd11fe
chore: flatten http directory
5 years ago
Sean McBride
46a2fcfbc4
chore: rename handles to be more descriptive
5 years ago
Sean McBride
439bd523b8
chore: namespace runtime.h functions
5 years ago
Sean McBride
c9b9a6553e
chore: run clang-format
5 years ago
Sean McBride
2805934d49
docs: add warning to sandbox exit function
5 years ago
Sean McBride
07d2c8daaf
chore: sandbox.h cleanup
5 years ago
Sean McBride
2d9a3925cd
chore: namespace runtime.c
5 years ago
Sean McBride
70d87fcb51
chore: partial namespace of runtime
5 years ago
Sean McBride
7f858d69dd
chore: namespace runtime state
5 years ago
Sean McBride
3d96b0ed95
chore: namespace and comment softint stuff
5 years ago
Sean McBride
d6c31f6728
chore: namespace rdtsc
5 years ago
Sean McBride
a29f36ca13
chore: decompose current_sandbox.h
5 years ago
Sean McBride
1800d0ab31
chore: move parser_settings to http directory
5 years ago
Sean McBride
f471011776
chore: cleanup http
5 years ago
Sean McBride
b0ae9ba266
chore: cleanup sandbox_request
5 years ago
Sean McBride
75a34360b8
chore: Assorted cleanup
5 years ago
Sean McBride
b896f6f1b1
chore: move rdtsc to util
5 years ago
Sean McBride
4178e4f9bc
chore: partial sandbox cleanup
5 years ago
Sean McBride
7da1f4a284
chore: cleanup softint
5 years ago
Sean McBride
71a6ee1633
chore: cleanup http namespace
5 years ago
Sean McBride
dfe5667bef
chore: resolve TODOs from Phani
5 years ago
Sean McBride
1d724f04e8
refactor: Shift sandbox_request to new file
5 years ago
Sean McBride
ea888ddbb3
chore: assorted refactors
5 years ago
Sean McBride
9762477902
chore: assorted refactors
5 years ago
Sean McBride
c1c307c390
chore: cleanup runtime
5 years ago
Sean McBride
2220cf34a0
chore: rerun formatter
5 years ago
Sean McBride
c4142c00f1
chore: more cleanup
5 years ago
Sean McBride
0c85cd4102
chore: Assorted cleanup
5 years ago
Sean McBride
3d6266750e
chore: assorted refactors
5 years ago
Sean McBride
69086d012d
Various refactors and end-to-end tracking of cycles
5 years ago
Sean McBride
d058f99e0f
feat: Assign start_time to sandbox
5 years ago
Sean McBride
b0434ac941
build: remove STANDALONE, SBOX_SCALE_ALLOC, USE_LIBUV flags
5 years ago
Sean McBride
ae93435e2a
refactor: Assorted refactors and add start_time to request
5 years ago
Sean McBride
6946b08644
refactor: modularize and rename things
5 years ago
Sean McBride
b5e9abced5
chore: Assorted cleanup
5 years ago
Sean McBride
9185852236
docs: Add documentation to code ( #7 )
5 years ago
Sean McBride
e61be257f9
chore: add clang-format from Composite ( #5 )
...
* chore: add clang-format from Composite
* chore: cleanup JSON
* chore: add clang-format from Composite
* chore: stylistic corrections
* chore: ignore swap files and vscode conf
* chore: check semver of clang-format and require 9
5 years ago
phani
b9d7278c54
fixes 99% latency problem here (but a problem with 1m data transfer test, it is broken.)
5 years ago
phani
9528f65b32
Synchronous I/O for http request/response fixes 99%tile latencies
...
* Async I/O is being used for reading and writing http request and
response respectively. This causes the worker core to steal new tasks as
when one sandbox blocks on "read" or "write". This causes true
round-robin on timer interrupts, leading to those high latencies.
* Ideally, the request/response should be synchronous I belive because
we are expected to have "low"/near-realtime latencies and the read/writes
are only performed when a client connects, so ideally not block!
Plus, we expect only small data transfers (in KBs) so that should also
support synchronous request/response processing.
5 years ago
phani
645d138787
for runtime with multi-sandboxing, globals are to be populated per sandbox, that was what causing random crashes!
5 years ago
phani
69b1f94fe8
scalable sandbox creation in each runtime core
5 years ago
phani
576bc4b086
sandbox alloc on each core, for scalability
5 years ago
phani
ae392fdfe3
read from stdin (http req body), write to stdout (http resp body), bug fixes in http parsing
5 years ago
phani
2e8a22b710
fix for standalone execution
5 years ago
phani
aa0017f4b0
http request response using uv
5 years ago
phani
8a3e050282
Support TCP (TODO: http parsing based on module specification)
...
* Major:
- Moved sandbox data struct into linear memory of a sandbox.
- (Should work well with other sandboxing mechanisms).
- Removed all mallocs from within uv usage, using a pre-allocated
memory within sandbox data-struct for read/write.
- TODO: convert prints on stdout to a string and send it out with
function response body.
- TODO: for each function loaded, what is the request and response
http header/body specification.
To start, keep headers minimal.
body either: json, plain.
- TODO: track TIMEOUTS. If we go beyond that, return a HTTP 408?
5 years ago
phani
9376453058
uvio for sandbox response.
5 years ago
phani
95bf6fc1a9
udp response (return value of main) and multi-threaded udp client
5 years ago
phani
eb8fcf00c4
Work-stealing deque for global request queue
...
* all cores steal from that queue.
* other bug fixes
* tested with NCORES = 2 and 4.
5 years ago
Phani
a231796990
for standalone execution
5 years ago
phani
9b0ec6f7dc
Changed directory structure
...
* silverfish is a submodule now
* memory modules from silverfish runtime is copied in to the aWsm runtime.
* runtime/tests/Makefile compiles different tests and silverfish/code_benches..
6 years ago