
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.
The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.
This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine, providing a path back to lost websites and work.
Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.
The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.
This is is a (not yet comprehensive) list of differences/limitations when applications are executed with SGX-LKL. This should be provided as part of the SGX-LKL documentation:
There is no support for
fork()and multiple processes. Currently SGX-LKL provides a pure single process abstractions (although multiple LKL kernel thread can function in the role of separate processes). There is ongoing work to provide partial support for theclonesystem call.Given the above limitation, there is no support for IPC-related system calls between multiple processes. IPC-related system calls should work if they are being used for thread synchronisation only (e.g. a pipe between two threads, so
epoll()can allow one to wake another up).SGX-LKL cannot execute binaries that issue
syscallassembly instructions directly, instead of going through the libc syscall wrapper macro. For example, the Go runtime is currently unsupported because it invokes syscalls directly bypassing libc. As a solution, SGX-LKL could emulate trapped syscall instructions in software, similar tordtscandcpuid.There are certain limitations in SGX-LKL's
mmap()support:a. SGX-LKL cannot map the same page multiple times.
b. For memory-mapped files, SGX-LKL does not support transparent write back (since the enclave mmap implementation is not integrated with the Linux page cache). The lack of write-back may be possible to fix if SGX-LKL tracks where
MAP_SHAREDmappings came from and writes them back on exit, but multipleMAP_SHAREDmappings of the same file range will not work. We could also hook themsyncsystem call to explicitly write back.c. The address space exposes to the application is limited by the size of the enclave, and does not constitute a full 64-bit address space. This should largely be transparent to applications but affects some applications that use VMM tricks, such as WebAssembly.
Due to the non-preemptive scheduling, no asynchronous signals can be delivered to a pure userspace compute loop.
Currently (with SGX1), calls to
mprotect()are untrusted, so applications (e.g. the Java Virtual Machine) that rely on getting signals for access violations can potentially be attacked this way.Certain systems calls and signals (e.g., SIGXCPU) that are related to scheduling are not supported by LKL. Currently the lthread and LKL schedulers are not integrated, thus the LKL scheduler is mostly unaware of the execution of userspace lthreads.
The text was updated successfully, but these errors were encountered: