1= Android porting notes =
2
3How to setup a Ubuntu 12.04 machine to cross compile for different architectures.
4
5== Setup ==
6
7Install tools:
8
9sudo apt-get install kernel-package build-essential git gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-4.6-multilib-arm-linux-gnueabihf gcc-4.6-multilib-arm-linux-gnueabi
10
11== Environment ==
12Ubuntu has a command called ''dpkg-architecture'' which setups up most of the cross compile environment.
13
1464-bit x86:
15 export $(dpkg-architecture -aamd64)
16
1732-bit x86:
18 export $(dpkg-architecture -ai386)
19
20armhf (RaspberryPi/uPC):
21 export $(dpkg-architecture -aarmhf)
22 export CROSS_COMPILE=arm-linux-gnueabihf-
23 export CCPREFIX=${CROSS_COMPILE}
24
25armel:
26 export $(dpkg-architecture -aarmel)
27 export CROSS_COMPILE=arm-linux-gnueabi-
28 export CCPREFIX=${CROSS_COMPILE}
29
30Shared Variables:
31 export CONCURRENCY_LEVEL=`grep -c '^processor' /proc/cpuinfo`
32 export ROOT_CMD=fakeroot
33
34== Build ==
35#Make
36 export CC=${CROSS_COMPILE}gcc
37 STATIC=1 make ARCH=arm
38
39= Ubuntu 17.04 =
40Considerably easier with a cross-compilation enable distribution, swap architecture as needed.
41
42=== Setup ===
43 apt-get install gcc-4.9-aarch64-linux-gnu
44
45=== Build ===
46
47 CC=aarch64-linux-gnu-gcc-4.9 STATIC=1 make
48
49M.Srikanth Kumar, Jul 14, 2015
50Colin Ian King, Dec 6, 2016 (updated, static linking)
51
README.md
1# stress-ng
2
3stress-ng will stress test a computer system in various selectable ways. It
4was designed to exercise various physical subsystems of a computer as well as
5the various operating system kernel interfaces. Stress-ng features:
6
7 * Over 260 stress tests
8 * 85+ CPU specific stress tests that exercise floating point, integer,
9 bit manipulation and control flow
10 * over 20 virtual memory stress tests
11 * portable: builds on Linux, Solaris, *BSD, Minix, Android, MacOS X,
12 GNU/Hurd, Haiku, Windows Subsystem for Linux and SunOs/Dilos with
13 gcc, clang, tcc and pcc.
14 * tested on x86-64, i386, s390x, ppc64el, armhf, arm64, sparc64, risc-v,
15 m68k, mips64
16
17stress-ng was originally intended to make a machine work hard and trip hardware
18issues such as thermal overruns as well as operating system bugs that only
19occur when a system is being thrashed hard. Use stress-ng with caution as some
20of the tests can make a system run hot on poorly designed hardware and also can
21cause excessive system thrashing which may be difficult to stop.
22
23stress-ng can also measure test throughput rates; this can be useful to observe
24performance changes across different operating system releases or types of
25hardware. However, it has never been intended to be used as a precise benchmark
26test suite, so do NOT use it in this manner.
27
28Running stress-ng with root privileges will adjust out of memory settings on
29Linux systems to make the stressors unkillable in low memory situations, so use
30this judiciously. With the appropriate privilege, stress-ng can allow the ionice
31class and ionice levels to be adjusted, again, this should be used with care.
32
33## Tarballs
34
35Tarballs of each version of stress-ng can be downloaded using the URL:
36
37https://github.com/ColinIanKing/stress-ng/tarball/version
38
39where version is the relevant version number, for example:
40
41https://github.com/ColinIanKing/stress-ng/tarball/V0.13.05
42
43## Building stress-ng
44
45To build, the following libraries will ensure a fully functional stress-ng
46build: (note libattr is not required for more recent disto releases).
47
48Debian, Ubuntu:
49
50 * libaio-dev
51 * libapparmor-dev
52 * libattr1-dev
53 * libbsd-dev
54 * libcap-dev
55 * libgcrypt11-dev
56 * libipsec-mb-dev
57 * libjudy-dev
58 * libkeyutils-dev
59 * libsctp-dev
60 * libatomic1
61 * zlib1g-dev
62 * libkmod-dev
63
64RHEL, Fedora, Centos:
65
66 * libaio-devel
67 * libattr-devel
68 * libbsd-devel
69 * libcap-devel
70 * libgcrypt-devel
71 * Judy-devel
72 * keyutils-libs-devel
73 * lksctp-tools-devel
74 * libatomic
75 * zlib-devel
76 * kmod-devel
77
78RHEL, Fedora, Centos (static builds):
79
80 * libaio-devel
81 * libattr-devel
82 * libbsd-devel
83 * libcap-devel
84 * libgcrypt-devel
85 * Judy-devel
86 * keyutils-libs-devel
87 * lksctp-tools-devel
88 * libatomic-static
89 * zlib-devel
90 * glibc-static
91
92SUSE:
93 * keyutils-devel
94 * libaio-devel
95 * libapparmor-devel
96 * libattr-devel
97 * libbsd-devel
98 * libcap-devel
99 * libseccomp-devel
100 * lksctp-tools-devel
101 * libatomic1
102 * zlib-devel
103 * libkmod-devel
104
105NOTE: the build will try to detect build dependencies and will build an image
106with functionality disabled if the support libraries are not installed.
107
108At build-time stress-ng will detect kernel features that are available on the
109target build system and enable stress tests appropriately. Stress-ng has been
110build-tested on Ubuntu, Debian, Debian GNU/Hurd, Slackware, RHEL, SLES, Centos,
111kFreeBSD, OpenBSD, NetBSD, FreeBSD, Debian kFreeBSD, DragonFly BSD, OS X, Minix,
112Solaris 11.3, OpenIndiana and Hiaku. Ports to other POSIX/UNIX like operating
113systems should be relatively easy.
114
115NOTE: ALWAYS run ```make clean``` after fetching changes from the git repository
116to force the build to regenerate the build configuration file.
117
118To build on BSD systems, one requires gcc and GNU make:
119```
120 CC=gcc gmake clean
121 CC=gcc gmake
122```
123
124To build on OS X systems, just use:
125```
126 make clean
127 make
128```
129
130To build on MINIX, gmake and clang are required:
131```
132 CC=clang gmake clean
133 CC=clang gmake
134```
135
136To build on SunOS, one requires GCC and GNU make, build using:
137```
138 CC=gcc gmake clean
139 CC=gcc gmake
140```
141
142To build on Dilos, one requires GCC and GNU make, build using:
143```
144 CC=gcc gmake clean
145 CC=gcc gmake
146```
147
148To build on Haiku Alpha 4:
149```
150 make clean
151 make
152```
153
154To build a static image (example, for Android), use:
155```
156 make clean
157 STATIC=1 make
158```
159
160To build with full warnings enabled:
161```
162 make clean
163 PEDANTIC=1 make
164```
165
166To build with the Tiny C compiler:
167```
168 make clean
169 CC=tcc make
170```
171
172To build with the PCC portable C compiler use:
173```
174 make clean
175 CC=pcc make
176```
177
178To build with the musl C library:
179```
180 CC=musl-gcc make
181```
182
183## Contributing to stress-ng:
184
185Send patches to colin.i.king@gmail.com or merge requests at
186https://github.com/ColinIanKing/stress-ng
187
188## Quick Start Reference Guide
189The [Ubuntu stress-ng reference guide](https://wiki.ubuntu.com/Kernel/Reference/stress-ng)
190contains a brief overview and worked examples.
191
192## Examples
193
194Run 4 CPU, 2 virtual memory, 1 disk and 8 fork stressors for 2 minutes and print measurements:
195```
196stress-ng --cpu 4 --vm 2 --hdd 1 --fork 8 --timeout 2m --metrics
197stress-ng: info: [573366] setting to a 120 second (2 mins, 0.00 secs) run per stressor
198stress-ng: info: [573366] dispatching hogs: 4 cpu, 2 vm, 1 hdd, 8 fork
199stress-ng: info: [573366] successful run completed in 123.78s (2 mins, 3.78 secs)
200stress-ng: info: [573366] stressor bogo ops real time usr time sys time bogo ops/s bogo ops/s CPU used per
201stress-ng: info: [573366] (secs) (secs) (secs) (real time) (usr+sys time) instance (%)
202stress-ng: info: [573366] cpu 515396 120.00 453.02 0.18 4294.89 1137.24 94.42
203stress-ng: info: [573366] vm 2261023 120.01 223.80 1.80 18840.15 10022.27 93.99
204stress-ng: info: [573366] hdd 367558 123.78 10.63 11.67 2969.49 16482.42 18.02
205stress-ng: info: [573366] fork 598058 120.00 68.24 65.88 4983.80 4459.13 13.97
206```
207
208Run matrix stressor on all online CPUs for 60 seconds and measure temperature:
209```
210stress-ng --matrix -1 --tz -t 60
211stress-ng: info: [1171459] setting to a 60 second run per stressor
212stress-ng: info: [1171459] dispatching hogs: 8 matrix
213stress-ng: info: [1171459] successful run completed in 60.01s (1 min, 0.01 secs)
214stress-ng: info: [1171459] matrix:
215stress-ng: info: [1171459] acpitz0 75.00 C (348.15 K)
216stress-ng: info: [1171459] acpitz1 75.00 C (348.15 K)
217stress-ng: info: [1171459] pch_skylake 60.17 C (333.32 K)
218stress-ng: info: [1171459] x86_pkg_temp 62.72 C (335.87 K)
219```
220
221Run a mix of 4 I/O stressors and check for changes in disk S.M.A.R.T. metadata:
222```
223sudo stress-ng --iomix 4 --smart -t 30s
224stress-ng: info: [1171471] setting to a 30 second run per stressor
225stress-ng: info: [1171471] dispatching hogs: 4 iomix
226stress-ng: info: [1171471] successful run completed in 30.37s
227stress-ng: info: [1171471] Device ID S.M.A.R.T. Attribute Value Change
228stress-ng: info: [1171471] sdc 01 Read Error Rate 88015771 71001
229stress-ng: info: [1171471] sdc 07 Seek Error Rate 59658169 92
230stress-ng: info: [1171471] sdc c3 Hardware ECC Recovered 88015771 71001
231stress-ng: info: [1171471] sdc f1 Total LBAs Written 481904395 877
232stress-ng: info: [1171471] sdc f2 Total LBAs Read 3768039248 5139
233stress-ng: info: [1171471] sdd be Temperature Difference 3670049 1
234```
235
236Benchmark system calls using the VDSO:
237```
238stress-ng --vdso 1 -t 5 --metrics
239stress-ng: info: [1171584] setting to a 5 second run per stressor
240stress-ng: info: [1171584] dispatching hogs: 1 vdso
241stress-ng: info: [1171585] stress-ng-vdso: exercising vDSO functions: clock_gettime time gettimeofday getcpu
242stress-ng: info: [1171585] stress-ng-vdso: 9.88 nanoseconds per call (excluding 1.73 nanoseconds test overhead)
243stress-ng: info: [1171584] successful run completed in 5.10s
244stress-ng: info: [1171584] stressor bogo ops real time usr time sys time bogo ops/s bogo ops/s CPU used per
245stress-ng: info: [1171584] (secs) (secs) (secs) (real time) (usr+sys time) instance (%)
246stress-ng: info: [1171584] vdso 430633496 5.10 5.10 0.00 84375055.96 84437940.39 99.93
247stress-ng: info: [1171584] vdso 9.88 nanoseconds per call (average per stressor)
248```
249
250Generate and measure branch misses using perf metrics:
251```
252sudo stress-ng --branch 1 --perf -t 10 2>& 1 | grep Branch
253stress-ng: info: [1171714] 604,703,327 Branch Instructions 53.30 M/sec
254stress-ng: info: [1171714] 598,760,234 Branch Misses 52.77 M/sec (99.02%)
255```
256
257## Bugs found with stress-ng
258
259stress-ng has found several Linux Kernel bugs and appropriate fixes have been landed to address these issues:
260
261* [fs/locks.c: kernel oops during posix lock stress test](https://lkml.org/lkml/2016/11/27/212)
262* [rcu_preempt detected stalls on CPUs/tasks](https://lkml.org/lkml/2017/8/28/574)
263* [BUG: unable to handle kernel NULL pointer dereference](https://lkml.org/lkml/2017/10/30/247)
264* [WARNING: possible circular locking dependency detected](https://www.spinics.net/lists/kernel/msg2679315.html)
265* [SMP divide error](https://bugs.centos.org/view.php?id=14366)
266* [ext4_validate_inode_bitmap:99: comm stress-ng: Corrupt inode bitmap](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1780137)
267* [4.15 s390x kernel BUG at /build/linux-Gycr4Z/linux-4.15.0/drivers/block/virtio_blk.c:565](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1788432)
268* [mm/page_idle.c: fix oops because end_pfn is larger than max_pfn](https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/mm/page_idle.c?id=d96d6145d9796d5f1eac242538d45559e9a23404)
269* [Illumos: ofdlock(): assertion failed: lckdat->l_start == 0](https://www.illumos.org/issues/9061)
270* [mm: compaction: avoid 100% CPU usage during compaction when a task is killed](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670105a25608affe01cb0ccdc2a1f4bd2327172b)
271* [mm/vmalloc.c: preload a CPU with one object for split purpose](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=82dd23e84be3ead53b6d584d836f51852d1096e6)
272* [debugobjects: Use global free list in __debug_check_no_obj_freed()](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1ea9b98b007a662e402551a41a4413becad40a65)
273* [ARM: dts: meson8b: add reserved memory zone to fix silent freezes](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b9b4bf504c9e94fe38b93aa2784991c80cebcf2e)
274* [ARM64: dts: meson-gx: Add firmware reserved memory zones](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bba8e3f42736cf7f974968a818e53b128286ad1d)
275* [sched/core: Fix a race between try_to_wake_up() and a woken up task](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=135e8c9250dd5c8c9aae5984fde6f230d0cbfeaf)
276* [ext4: lock the xattr block before checksuming it](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=dac7a4b4b1f664934e8b713f529b629f67db313c)
277* [devpts: fix null pointer dereference on failed memory allocation](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5353ed8deedee9e5acb9f896e9032158f5d998de)
278* [KEYS: ensure we free the assoc array edit if edit is valid](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ca4da5dd1f99fe9c59f1709fb43e818b18ad20e0)
279* [arm64: do not enforce strict 16 byte alignment to stack pointer](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e6d9a52543338603e25e71e0e4942f05dae0dd8a)
280* [proc: fix -ESRCH error when writing to /proc/$pid/coredump_filter](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=41a0c249cb8706a2efa1ab3d59466b23a27d0c8b)
281* [perf evlist: Use unshare(CLONE_FS) in sb threads to let setns(CLONE_NEWNS) work](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b397f8468fa27f08b83b348ffa56a226f72453af)
282* [riscv: reject invalid syscalls below -1](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=556f47ac6083d778843e89aa21b1242eee2693ed)
283* [RISC-V: Don't allow write+exec only page mapping request in mmap](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e0d17c842c0f824fd4df9f4688709fc6907201e1)
284* [riscv: set max_pfn to the PFN of the last page](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c749bb2d554825e007cbc43b791f54e124dadfce)
285* [crypto: hisilicon - update SEC driver module parameter](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=57b1aac1b426b7255afa195298ed691ffea204c6)
286* [net: atm: fix update of position index in lec_seq_next](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2f71e00619dcde3d8a98ba3e7f52e98282504b7d)
287* [sched/debug: Fix memory corruption caused by multiple small reads of flags](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8d4d9c7b4333abccb3bf310d76ef7ea2edb9828f)
288* [ocfs2: ratelimit the 'max lookup times reached' notice](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=45680967ee29e67b62e6800a8780440b840a0b1f)
289* [using perf can crash kernel with a stack overflow](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1875941)
290* [stress-ng on gcov enabled focal kernel triggers OOPS](https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1879470)
291* [sparc64: Fix opcode filtering in handling of no fault loads](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e5e8b80d352ec999d2bba3ea584f541c83f4ca3f)
292* [opening a file with O_DIRECT on a file system that does not support it will leave an empty file](https://bugzilla.kernel.org/show_bug.cgi?id=213041)
293* [sparc64: locking/atomic, kernel OOPS on running stress-ng](https://lore.kernel.org/lkml/CADxRZqzcrnSMzy50T+kWb_mQVguWDCMu6RoXsCc+-fNDPYXbaw@mail.gmail.com/#r)
294* [btrfs: fix exhaustion of the system chunk array due to concurrent allocations](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=986aa0f276752ca4809f95b260f59fafef01a6a7)
295* [btrfs: rework chunk allocation to avoid exhaustion of the system chunk array](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=79bd37120b149532af5b21953643ed74af69654f)
296* [btrfs: fix deadlock with concurrent chunk allocations involving system chunks](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1cb3db1cf383a3c7dbda1aa0ce748b0958759947)
297* [locking/atomic: sparc: Fix arch_cmpxchg64_local()](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7e1088760cfe0bb1fdb1f0bd155bfd52f080683a)
298* [pipe: do FASYNC notifications for every pipe IO, not just state changes](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=fe67f4dd8daa252eb9aa7acb61555f3cc3c1ce4c)
299* [io-wq: remove GFP_ATOMIC allocation off schedule out path](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=d3e9f732c415cf22faa33d6f195e291ad82dc92e)
300* [mm/swap: consider max pages in iomap_swapfile_add_extent](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=36ca7943ac18aebf8aad4c50829eb2ea5ec847df)
301
302## Kernel improvements that used stress-ng
303
304* [selinux: complete the inlining of hashtab functions](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54b27f9287a7b3dfc85549f01fc9d292c92c68b9)
305* [selinux: store role transitions in a hash table](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e67b2ec9f6171895e774f6543626913960e019df)
306* [sched/rt: Optimize checking group RT scheduler constraints](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=b4fb015eeff7f3e5518a7dbe8061169a3e2f2bc7)
307* [sched/fair: handle case of task_h_load() returning 0](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=01cfcde9c26d8555f0e6e9aea9d6049f87683998)
308* [sched/deadline: Unthrottle PI boosted threads while enqueuing](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=feff2e65efd8d84cf831668e182b2ce73c604bbb)
309* [mm: fix madvise WILLNEED performance problem](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=66383800df9cbdbf3b0c34d5a51bf35bcdb72fd2)
310* [powerpc/dma: Fix dma_map_ops::get_required_mask](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=437ef802e0adc9f162a95213a3488e8646e5fc03)
311* [Revert "mm, slub: consider rest of partial list if acquire_slab() fails](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=9b1ea29bc0d7b94d420f96a0f4121403efc3dd85)
312* [mm: memory: add orig_pmd to struct vm_fault](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5db4f15c4fd7ae74dd40c6f84bf56dfcf13d10cf)
313* [selftests/powerpc: Add test of mitigation patching](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34f7f79827ec4db30cff9001dfba19f496473e8d)
314* [dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc()](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=528b16bfc3ae5f11638e71b3b63a81f9999df727)
315* [mm/migrate: optimize hotplug-time demotion order updates](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=295be91f7ef0027fca2f2e4788e99731aa931834)
316
317## Presentations
318
319* [Stress-ng presentation at ELCE 2019 Lyon](https://static.sched.com/hosted_files/osseu19/29/Lyon-stress-ng-presentation-oct-2019.pdf)
320* [Video of the above presentation](https://www.youtube.com/watch?v=8QaXStKfq3A)
321
322## Citations
323
324* [Auto-scaling of Containers: the impact of Relative and Absolute Metrics](https://www.researchgate.net/publication/319905237_Auto-Scaling_of_Containers_The_Impact_of_Relative_and_Absolute_Metrics)
325* [Increasing Platform Determinism PQOS DPDK](https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/increasing-platform-determinism-pqos-dpdk-paper.pdf)
326* [Testing the Windows Subsystem for Linux](https://blogs.msdn.microsoft.com/wsl/2017/04/11/testing-the-windows-subsystem-for-linux/)
327* [Practical analysis of the Precision Time Protocol under different types of system load](http://www.diva-portal.org/smash/get/diva2:1106630/FULLTEXT01.pdf)
328* [Towards Virtual Machine Energy-Aware Cost Prediction in Clouds](http://eprints.whiterose.ac.uk/124309/1/paper_final.pdf)
329* [Towards Energy Efficient Data Management in HPC: The Open Ethernet Drive Approach](http://www.pdsw.org/pdsw-discs16/papers/p43-kougkas.pdf)
330* [Enhancing Cloud energy models for optimizing datacenters efficiency](https://cs.gmu.edu/~menasce/cs788/papers/ICCAC2015-Outin.pdf)
331* [CPU and memory performance analysis on dynamic and dedicated resource allocation using XenServer in Data Center environment](http://ieeexplore.ieee.org/document/7877341/)
332* [Algorithms and Architectures for Parallel Processing](https://books.google.co.uk/books?id=S4wwDwAAQBAJ&pg=PA7&lpg=PA7&dq=http://kernel.ubuntu.com/~cking/stress-ng/&source=bl&ots=bVZccBq2Io&sig=rIqKWyEhGmVPosAJiemKjGgEv0M&hl=en&sa=X&ved=0ahUKEwiFo6LO2fbXAhWBtxQKHRcnDY04HhDoAQguMAE#v=onepage&q=http%3A%2F%2Fkernel.ubuntu.com%2F~cking%2Fstress-ng%2F&f=false)
333* [Advanced concepts and tools for renewable energy supply of IT Data Centres](http://www.renewit-tool.eu/Content/File/5-IT%20Load.pdf)
334* [How Much Power Does your Server Consume? Estimating Wall Socket Power Using RAPL Measurements](http://www.ena-hpc.org/2016/pdf/khan_et_al_enahpc.pdf)
335* [Tejo: A Supervised Anomaly Detection Scheme for NewSQL Databases](https://hal.archives-ouvertes.fr/hal-01211772/document)
336* [Monitoring and Modelling Open Compute Servers](http://staff.www.ltu.se/~damvar/Publications/Eriksson%20et%20al.%20-%202017%20-%20Monitoring%20and%20Modelling%20Open%20Compute%20Servers.pdf)
337* [Experimental and numerical analysis for potential heat reuse in liquid cooled data centres](http://personals.ac.upc.edu/jguitart/HomepageFiles/ECM16.pdf)
338* [DevOps for IoT Applications using Cellular Networks and Cloud](https://www.ericsson.com/assets/local/publications/conference-papers/devops.pdf)
339* [Modeling and Analysis of Performance under Interference in the Cloud](https://www3.cs.stonybrook.edu/~anshul/mascots17.pdf)
340* [Effectively Measure and Reduce Kernel Latencies for Real time Constraints](https://elinux.org/images/a/a9/ELC2017-_Effectively_Measure_and_Reduce_Kernel_Latencies_for_Real-time_Constraints_%281%29.pdf)
341* [Monitoring and Analysis of CPU load relationships between Host and Guests in a Cloud Networking Infrastructure](http://www.diva-portal.org/smash/get/diva2:861235/FULLTEXT02)
342* [Measuring the impacts of the Preempt-RT patch](http://events17.linuxfoundation.org/sites/events/files/slides/rtpatch.pdf)
343* [Multicore Emulation on Virtualised Environment](https://indico.esa.int/indico/event/165/contribution/5/material/1/0.pdf)
344* [Stress-SGX : Load and Stress your Enclaves for Fun and Profit](https://seb.vaucher.org/papers/stress-sgx.pdf)
345* [Reliable Library Identification Using VMI Techniques](http://www.delaat.net/rp/2016-2017/p64/report.pdf)
346* [Elastic-PPQ: A two-level autonomic system for spatial preference query processing over dynamic data stream](https://www.researchgate.net/publication/319613604_Elastic-PPQ_A_two-level_autonomic_system_for_spatial_preference_query_processing_over_dynamic_data_streams)
347* [Caliper Benchmarking](http://open-estuary.org/caliper-benchmarking)
348* [OpenEPC integration within 5GTN as an NFV proof of concept](http://jultika.oulu.fi/files/nbnfioulu-201706082638.pdf)
349* [quiho: Automated Performance Regression Testing Using Inferred Resource Utilization Profiles](https://dl.acm.org/citation.cfm?id=3184422&dl=ACM&coll=DL&preflayout=flat)
350* [A Virtual Network Function Workload Simulator](https://uu.diva-portal.org/smash/get/diva2:1043751/FULLTEXT01.pdf)
351* [Time-Aware Dynamic Binary Instrumentation](https://uwspace.uwaterloo.ca/bitstream/handle/10012/12182/Arafa_Pansy.pdf?sequence=3)
352* [Characterizing and Reducing Cross-Platform Performance Variability Using OS-level Virtualization](http://www.lofstead.org/papers/2016-varsys.pdf)
353* [Experience Report: Log Mining using Natural Language Processing and Application to Anomaly Detection](https://hal.laas.fr/hal-01576291/document)
354* [CoMA: Resource Monitoring of Docker Containers](http://www.scitepress.org/Papers/2015/54480/54480.pdf)
355* [An Investigation of CPU utilization relationship between host and guests in a Cloud infrastructure](http://www.diva-portal.org/smash/get/diva2:861239/FULLTEXT02)
356* [Hypervisor and Virtual Machine Memory Optimization Analysis](https://www.tuit.ut.ee/sites/default/files/tuit/at/thesis/bsc/2018/atprog-courses-bakalaureuset55-loti.05.029-tambet-viitkar-text-20180520.pdf)
357* [Linux kernel performance test tool](https://01.org/sites/default/files/documentation/lkp-tests.pdf)
358* [Real-Time testing with Fuego](https://elinux.org/images/4/43/ELC2018_Real-time_testing_with_Fuego-181024m.pdf)
359* [Performance and Energy Trade-Offs for Parallel Applications on Heterogeneous Multi-Processing Systems](https://www.mdpi.com/1996-1073/13/9/2409/htm)
360* [C-Balancer: A System for Container Profiling and Scheduling](https://arxiv.org/pdf/2009.08912.pdf)
361* [Modelling VM Latent Characteristics and Predicting Application Performance using Semi-supervised Non-negative Matrix Factorization](https://ieeexplore.ieee.org/document/9284328)
362* [Semi-dynamic load balancing: efficient distributed learning in non-dedicated environments](https://dl.acm.org/doi/10.1145/3419111.3421299)
363* [Streamline: A Fast, Flushless Cache Covert-Channel Attack byEnabling Asynchronous Collusion](https://dl.acm.org/doi/pdf/10.1145/3445814.3446742)
364* [Experimental Analysis in Hadoop MapReduce: A Closer Look at Fault Detection and Recovery Techniques](https://www.mdpi.com/1131714)
365* [Performance Characteristics of theBlueField-2 SmartNIC](https://arxiv.org/pdf/2105.06619.pdf)
366* [Evaluating Latency in Multiprocessing Embedded Systems for the Smart Grid](https://www.mdpi.com/1996-1073/14/11/3322)
367* [Work-in-Progress: Timing Diversity as a Protective Mechanism](https://dl.acm.org/doi/pdf/10.1145/3477244.3477614)
368* [Sequential Deep Learning Architectures for Anomaly Detection in Virtual Network Function Chains](https://arxiv.org/pdf/2109.14276.pdf)
369* [WattEdge: A Holistic Approach for Empirical Energy Measurements in Edge Computing](https://www.researchgate.net/publication/356342806_WattEdge_A_Holistic_Approach_for_Empirical_Energy_Measurements_in_Edge_Computing)
370
371I am keen to add to the stress-ng project page any citations to research or
372projects that use stress-ng. I also appreciate information concerning kernel
373bugs or performance regressions found with stress-ng.
374