Sean McBride
1ae6acbbee
fix: correct bug and harden error handling
4 years ago
Sean McBride
180df1a7d5
feat: initial implementation with interrupt bugs
4 years ago
Sean McBride
233ba1fa13
doce: Improve error message
4 years ago
Sean McBride
9d5859aeaa
chore: replace perror with fprintf
4 years ago
Sean McBride
5c87885722
chore: rename request_arrival_timestamp
4 years ago
Sean McBride
d1f80d8b1e
chore: port simple doc and error handlign
4 years ago
Sean McBride
2f164c3430
chore: refactor our sandbox_request_t
4 years ago
Sean McBride
213c558a75
chore: refactor out i32
4 years ago
Sean McBride
f93da9e766
fix: add format printf to panic
4 years ago
Sean McBride
f0aab63c26
fix: hack to avoid mysterious segfault
4 years ago
Sean McBride
47f24b6952
fix: namespace sandbox states
4 years ago
Sean McBride
58a38016b1
chore: sandbox member cache->sandbox context cache
4 years ago
Sean McBride
788ba6909b
docs: Replace printfs with debuglog
4 years ago
Sean McBride
5ccf8bbd87
chore: organize preprocessor includes
4 years ago
Sean McBride
68e91a8853
chore: combine thread locals into struct
4 years ago
Sean McBride
29201f737d
docs: Use style guide format for comments
4 years ago
Sean McBride
da0588ea32
chore: make demo workloads more realistic
5 years ago
Sean McBride
b8a0e28d11
chore: cleanup sandbox logic
5 years ago
Sean McBride
c0d82db22b
fix: Correct memory leak and general cleanup
5 years ago
Sean McBride
653af014a7
fix: cleanly handling preemption
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
83ee42e89b
chore: break up runtime and worker_thread
5 years ago
Sean McBride
4d29585236
chore: demonstrate priority
5 years ago
Sean McBride
307f7c0d59
chore: encapsulte http_parser_settings
5 years ago
Sean McBride
d42370c357
chore: simplify sandbox_allocate
5 years ago
Sean McBride
dafa257273
chore: encapsulate current_sandbox
5 years ago
Sean McBride
6a7bbc2e97
feat: add deadline logic
5 years ago
Sean McBride
13deee2531
chore: remove cycle time printf
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
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
7ba5a3acbe
chore: rename softint to software_interrupt
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
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
d6c31f6728
chore: namespace rdtsc
5 years ago
Sean McBride
a29f36ca13
chore: decompose current_sandbox.h
5 years ago
Sean McBride
f471011776
chore: cleanup http
5 years ago
Sean McBride
b896f6f1b1
chore: move rdtsc to util
5 years ago
Sean McBride
dc9677e41f
chore: partial sandbox cleanup
5 years ago
Sean McBride
cbd64d1f91
chore: refactor out libuv cbs
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
ea888ddbb3
chore: assorted refactors
5 years ago
Sean McBride
9762477902
chore: assorted refactors
5 years ago
Sean McBride
4a80e6dd70
chore: assorted refactors
5 years ago
Sean McBride
2220cf34a0
chore: rerun formatter
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
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
0c92419978
fixed syscall based sync http-req/resp
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
affe5fbc35
read() chunks fix, other standalone compilation fixes
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
618f269a9a
content-length header in response
5 years ago
phani
27b317116d
reset offset in read
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
d31057ebde
cleanup commented code
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
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..
5 years ago