Advices |
Arch |
OS & VM |
Sync |
PL & Runtime |
MM |
SDN |
Tools |
Benchmarks |
Useful
MISC
Click here to browse LLVM-related projects and resources.
The Architecture of Open Source Applications
Advices
Architecture
- ACPI(
spec50),
ACPI Component Arch.
- IA32
- IA32 Intel Architecture Software Developer's Manual, Intel Corporation, 2003.
V1: Basic Architecture,
V2: Instruction Set Reference Manual,
V3: System Programming Guide,
MP specification,
IO APIC
- Kai Li, A Guide to Programming on Intel IA32 PC Architecture
- The Undocumented PC: A Programmer's Guide to I/O, CPUs, and Fixed Memory Areas, 2nd Edition, Frank van Gilluwe, Addison-Wesley Developers Press, 1997.
- the 64-bit extensions:
Intel's or
AMD's web sites,
Porting SW to the AMD64 arch.
- ARM: Trustzone
- Cache
OS & VM
OS
VM
Sync
- Deterministic Sync:
RCU,
I-structures
Programming Languages
Concurrent Programming Model/Languages
Optimizations:
Intel Modern Code
- CSP:
ParC
- POSIX threads:
LinuxThreads,
win32;
Getting Started With POSIX Threads.
- OpenMP:
V3.0 and its
Summary Card C/C++,
Guide.
- MPI:
2.2,
MPICH2,
Open MPI,
FG-MPI,
AzequiaMPI>
Tutorials: 1,
2
- C++
(Bjarne Stroustrup - ATT,
TAMU):
C++11 FAQ
(in Chinese),
Stroustrup Reveals What's New in C++ 11,
Threads and memory model
- DSP: Spiral
- Fortran
(wiki,
spec):
gfortran,
Intel Fortran,
llvm(20151113news)
Fortran/C passing conventions:
Intel Fortran,
GFortran,
PathScale
- HDL:
Verilog, VHDL,
- Java:
- JavaScript:
TAJS,
SAFE
(git)
- Lua:
LuaJIT
- WWW:
WebIDL:
- Web&GL:
Khronos,
WebGL
(1.0),
OpenGL
(GLSL)
Parallel Patterns
- MapReduce
[Workshop]:
Hadoop,
Phoenix,
Metis,
Bashreduce,
MapReduce-MPI,
CGL-MapReduce,
Twister
- Doug Lea's
Fork/Join Framework in java.util.concurrent.
- Graph Parallel Systems:
- Multicore:
GRACE(2013),
Ligra(cmu,ppopp2013),
X-Stream(epfl,sosp2013),
Galois(utexas),
Polymer(ipads-sjtu,ppopp2015)
- Distributed:
Trinity,
PowerGraph =>
ipads-sjtu(PowerLyra, PowerSwitch),
- Spark
- Distributed ...:
kafka
Theories of Programming Languages
Compiler Infrastructure
Memory Management
- Richard Jones's the
Garbage Collection Page
- Paul Wilson et al's
Dynamic Storage Allocation: A Survey and Critical Review.
- Doug Lea's Malloc (dlmalloc):
Version 2.8.6 of malloc.c, and
malloc.h.
Also a short article on the design of this memory allocator and
some plots.
Also a malloc tracer written by Wolfram Gloger and
a sample trace.
Also, previous versions of malloc.
- malloc in a concurrent program:
Hoard,
jemalloc(
Jason Evans,
used in
FreeBSD,
NetBSD,
Firefox,
MacOS),
Miser(Intel,used in Cilk),
nedmalloc,
ptmalloc(used in glibc),
TBBmalloc,
TCMalloc
(gperftools),
TLSF
- Memory-related Checker:
MemorySanitizer
SDN
Tools
- GNU
-
bash,
autoconf
(macros 1
2),
make
(index,
AutoVars,
Makefiles
),
- GCC online document:
libgomp,
cpp,
- Debug and Analysis:
gprof,
cflow,
- GNU Binutils
ld,
as,
ar,
dd,
nm,
objdump,
objcopy,
readelf
- awk,
sed
- Java:
Ant
- PerfTune
HW:
PAPI
SW:
Linux perf,
HPCToolkit,
MuMMI,
PDT,
Prophesy,
TAU,
slog2 trace format:
Jumpshot-4
- Simulators
:
gem5,
- Net:
ssh
- LOC Counting:
cloc,
SLOCcount
- CASE:
GIT,
CVS,
doxygen
- Editors
Benchmarks
Useful Websites
MISC
Beysian
Cloud Security
Companies:
Keynote,
Netcraft,