xiaosuGW
b4a5fc7af2
1.Implement memory-based logging for each worker thread. 2. Dump all memory-based log to a file when receiving SIGINT signal
3 years ago
xiaosuGW
417427ab39
1. optimization: avoid global queue if the next sandbox has the same deadline with the current sandbox. 2. correct format and enrich comments
3 years ago
xiaosuGW
5d77f8efb5
remove redundent comments
3 years ago
xiaosuGW
24502d316b
1. Change compliler optimization level. 2. remove unaccurate execution time calculation
3 years ago
xiaosuGW
e6be55b1ed
support chain function calling by introducing hashtable for retrieving module struct
3 years ago
Sean McBride
6926d66183
chore: revert Makefile changes
4 years ago
Sean McBride
8603ea12db
feat: lpd using framework
4 years ago
Sean McBride
6b1dde7257
refactor: Clean up listener core locks and org
4 years ago
Sean McBride
3f18cf0cfc
feat: make preemption toggle runtime config
4 years ago
Sean McBride
cc4cc96cc3
feat: better test driver and more resilient tests
4 years ago
Sean McBride
02a15aeffb
chore: Add clang sanizer boilerplate
4 years ago
Sean McBride
661748afe4
feat: Basic memory profiling
4 years ago
Sean McBride
0bd5b5782f
chore: remove libuv
4 years ago
Sean McBride
5968d9b72e
feat: more explicit config logging and validation
4 years ago
Sean McBride
648ee411f9
chore: improve documentation of preempt_disable
4 years ago
Sean McBride
b5f63edfee
chore: Update logs and flags
4 years ago
Sean McBride
0307760810
chore: remove uv related prepocessor stuff
4 years ago
Sean McBride
8aef688553
feat: runtime configurable sandbox perf logging
4 years ago
Sean McBride
fbbcfe0792
chore: Remove configs that are now dynamic
4 years ago
Sean McBride
76b5346339
feat: Complete application experiment
4 years ago
Sean McBride
09834fb37f
chore: restore default NCORES
4 years ago
Sean McBride
7620179862
test: add concurrency experiment
4 years ago
Sean McBride
25d746c2e4
feat: WIP
4 years ago
Sean McBride
575d64eba8
chore: restore max cores
4 years ago
Sean McBride
2a82fe96f3
feat: get epoll implementation working
4 years ago
Sean McBride
a4da76c303
chore: Document alternate CC_OPTIONS
4 years ago
Sean McBride
92c17d7717
chore: Assorted debugging enhancements
4 years ago
Sean McBride
0e521668f8
feat: refactor workers for nonblocking sockets
4 years ago
Sean McBride
a7293a7a0a
feat: non-blocking listener core
4 years ago
Sean McBride
9ead528dfc
chore: better debugging and small socket fixes
4 years ago
Sean McBride
9bed646e3b
chore: enhance log granularity
4 years ago
Sean McBride
763de413ac
chore: makefile cleanup
4 years ago
Sean McBride
142a57dbb6
chore: make cleanup
4 years ago
Sean McBride
bd78bccb38
chore: first rename pass
4 years ago
Sean McBride
6b9919ddf5
chore: comment out debug flag
4 years ago
Sean McBride
b979809c12
chore: fix debuglog usage
4 years ago
Sean McBride
d14af73c30
chore: remove unused types
5 years ago
phani
cfa458c5b9
moved jsmn, http-parser to thirdparty/ and pulled in ck submodule there too
5 years ago
phani
37db945637
TODO: use CK? for env.c
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
9dfc740d05
chore: namespace macros and globals in main.c
5 years ago
Sean McBride
b0434ac941
build: remove STANDALONE, SBOX_SCALE_ALLOC, USE_LIBUV flags
5 years ago
phani
ed234f9ac5
default: async io for http req/resp. sync based io doesn't seem to work with huge data like 500k-1m I tested. They just timeout with concurrency
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
69b1f94fe8
scalable sandbox creation in each runtime core
5 years ago
phani
3fab99424a
fibonacci test update
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