By the help of some experiments that have been carried out, the evaluation could be quantified. In all the experiments was used an Intel Xeon E3-1270 v5 . The features of this CPU are the 4 cores at 3.6 GHz frequency and 8 hyper-threads (2 per core) and 8 MB cache memory. A server was also used, whose features are 64 GB of memory and use Ubuntu 14.
04.4 LTS operating system with Linux kernel version 4.2. For those experiments order to minimize the interruption it was necessary to turn off the dynamic frequency scaling. The workload generators are executed in a computer which features are that produce two 14-core Intel Xeon E5-2683 v3 with CPUs with frequency at 2 GHz and with 112 GB of RAM and the operating system that is used is Ubuntu 15.10.
Every computer provide a 10 Gb Ethernet NIC which is attached to a special switch. The disk modulation is not related with the workloads fit completely in memory.An evaluate is carried out with two web servers, Memcached, Redis , and SQLite, NGINX and Apache. The applications produce a mixture of calculate (e.g., SQLite) and I/O (e.
g., Apache and Memcached) workloads. ?then a comparison of the performance between three variables is made. The first variable was implemented by using the GNU C library (glibc). The second variable was implemented by using the musl C library, adjusted to execute into SGX enclaves with the help of synchronous system calls (SCONE-sync). The third and last one variable is implemented by using the musl C library (the same library was used in the second variable) but with the difference of that in this variable is conducted asynchronous system calls (SCONE-async).
Subsequently one more comparison is conducted between libc and musl libraries because libc is the standard C library for most Linux distributions, so it is more widely used that musl. In the experiments applications are build against glibc execute with better performance than the musl variants. Finally, application process is implemented into a Docker container