SSD is common for VPS and PaaS virtual machines for higher I/O performance. Now, it is coming to shared hosting too. DreamHost states that “Now with solid state drives (SSDs), our standard web hosting loads pages 200% faster”. We ourselves are happy to know this performance improvement with the price kept the same. Good work,
Read more
Tag: PDF
How to Catch the Signal Sent by Kill in C on Linux
Posted onPrograms may want to catch the kill signals sent by the kill command in C programs on Linux so that it can gracefully shutdown itself before it is killed. For example, I have a daemon progd running, and it may be killed by pkill progd. The progd may want to save some in-memory state to
Read more
Data Consistency Models of Public Cloud Storage Services: Amazon S3, Google Cloud Storage and Windows Azure Storage
Posted onThe public cloud storage services like Amazon S3, Google Cloud Storage and Windows Azure Storage replicate the data to ensure high availability. On the other hand, with data being replicated, the storage services exhibits certain data consistency models. Different cloud service providers employ different data consistency models nowadays. In this post, we survey the data
Read more
Linux UDP Programming Tutorial
Posted onUDP has its advantages over TCP, such as being relatively lightweight and receiving one packet per read call (recvmsg), although the programmers need to handle related issues, such as packet lost and out-of-order packets delivery. This post gives information and references on how to write UDP programs in a C/Linux environment. What is UDP Check
Read more
How to Measure Time Accurately in Programs
Posted onIt is quite common to measure the time in programs using APIs like clock() and gettimeofday(). We may also want to measure the time “accurately” for certain purposes, such as measuring a small piece of code’s execution time for performance analysis, or measuring the time in time-sensitive game software. It is hard to measure the
Read more
Software Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean
Posted onSoftware Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean. You can download the slides from Software Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean. These slides contain the “Numbers everyone should know” which everyone working on systems should be familiar with. Numbers Everyone Should Know L1 cache reference 0.5 ns Branch
Read more
How to Print Notes on a PDF File with Acrobat, Adobe Reader and Foxit Reader
Posted onPrint PDF with notes is not that straightforward, especially when you want specific styles of the printed notes/comments. In this post, we introduce how to print notes on a PDF file with Acrobat, Adobe Reader and Foxit Reader. Acrobat The detailed method is posted on Adobe’s blog: Printing Sticky Notes on a PDF. Excerpt of
Read more
GNU C Reference Manual
Posted onWhen we program in C, a C reference by hand is usually useful. The GNU C Reference Manual provides us a good reference for the C programming language implemented by the GNU C Compiler. “This manual is strictly a reference, not a tutorial. Its aim is to cover every linguistic construct in GNU C.” GNU
Read more
GNU glibc Manual
Posted on“The C language provides no built-in facilities for performing such common operations as input/output, memory management, string manipulation, and the like. Instead, these facilities are defined in a standard library, which you compile and link with your programs. The GNU C library, described in this document, defines all of the library functions that are specified
Read more
Emacs Tips and Howtos
Posted onWith Emacs, I feel happy. I love the rich functions of Emacs, such as compiling, quickly jumping to the lines with compilation error and debugging with gdb, and more. I ever wrote small tips posts about Emacs before. But it is a good idea to put them together and keep adding new ones. Here comes
Read more
Viewing XPS Files in Linux
Posted onXPS files is a format from MS on Windows. Evince can view some XPS files, but fails to view some. To view XPS files generated on Windows on a Linux system, we can use mupdf. It works very well. I like it much especially in the situation that Evince fails to open the XPS file.
Read more
Setting Up VPN-like Network Between Several Clusters Using iptables
Posted onIt is common to connect servers with only internal IPs from several clusters. VPN is a common technique for this. With iptables, we can implement many functions of VPN with possibly higher performance. The slides here give a brief introduction to how to set up a VPN-like network between 2 clusters which connect to each
Read more
Simple Introduction to paravirt_ops for Xen
Posted onThe is a simple introduction to paravirt_ops in Linux kernel for Xen, VMware, etc. We make this introduction from the view of code. We use the function raw_local_irq_disable() and raw_local_irq_enable() functions in Linux kernel to introduce paravirt_ops for Xen and Xenified kernel. Please download the introduction to paravirt_ops pdf file: introduction-to-pv-ops-v3.pdf
Introduction to Xen Source Code Structure
Posted onThe Xen hypervisor is a powerful virtualization solution that provides virtualization capabilities for x86, x86-64, and ARM architectures. The source code structure of Xen is organized into several directories, each of which contains a specific set of files. The backend and frontend drivers are an important part of the Xen hypervisor, and they provide a
Read more
A Simple Makefile for Latex
Posted onCompiling a latex documents may take several steps when bibtex is used with latex. However, this latex compilation process is the same for most documents. We can make it a template with Makefile so that simply running make will generate the dvi/ps/pdf files for us. A simple Makefile for using latex with bibtex enabled is
Read more
Storage Architecture and Challenges by Andrew Fikes at Google Faculty Summit 2010
Posted onStorage Architecture and Challenges in Faculty Summit, July 29, 2010, by Andrew Fikes, Principal Engineer. Download PDF (from archive.org). This slides introduces some of Google’s storage systems with insights and discussion of problems.
Designs, Lessons and Advice from Building Large Distributed Systems
Posted onDesigns, Lessons and Advice from Building Large Distributed Systems by Jeaf Dean. Everyone who is interested in large distributed systems should read: PDF for Designs, Lessons and Advice from Building Large Distributed Systems by Jeaf Dean.
Conference Ranking by Average Number of Citations in the Last 5 Years, 2012
Posted onI am trying to find out the top conferences that have the largest average number of citations in the last 5 years on the Internet but fail to find one. However, there are many rankings about the overall citations and numbers of publications. Hence, it is not hard to calculate the average number of citations
Read more
mrcc – A Distributed C Compiler System on MapReduce
Posted onThe mrcc project’s homepage is here: mrcc project. Abstract mrcc is an open source compilation system that uses MapReduce to distribute C code compilation across the servers of the cloud computing platform. mrcc is built to use Hadoop by default, but it is easy to port it to other could computing platforms, such as MRlite,
Read more