Prefetch Technologies // Keeping your cache lines cozy

Archive

Posts in Infrastructure

CFengine 3 Tutorial -- Part 3 -- Hello World

infrastructureJul 2, 2010 8 min read

So up to this point, we've had a high level 10,000ft introduction to how CFEngine works. Hopefully we've gotten the needed bits built and packaged up to bootstrap our infrastructure. As any other programming language begins, lets look at the most basic "Hello World" type policy. Great…

$ read more →

CFengine 3 Tutorial -- Part 2 -- Building Software and SMF Manifests / Scripts

infrastructureJul 2, 2010 2 min

CFEngine and dependencies Building OpenSSL Building PCRE Building CFEngine Note: I modify the Makefile to statically compile in the BerkeleyDB, OpenSSL, and libpcre libraries into the CFEngine binaries. I also modify the reference for pthread to pthreads for Solaris. These adjustments to the Makefile are dependant on how you built the software above. Caveat emptor Subversion and dependencies…

$ read more →

Why oh why is grub eating CPU resources in a VirtualBox VM?

infrastructureJan 12, 2010 1 min

While reviewing the performance on my desktop today, I noticed that one of my VirtualBox virtual machines was consuming 100% of one CPU: This was somewhat perplexing, given that the host in question was sitting at a grub> prompt (I'm cleaning up my grub notes to post to my website, so stay tuned!). When I strace'ed the VirtualBox process (having a system encapsulated in a userland process makes debugging these types of issues super easy), I noticed that the process was issuing poll()s and read()s in a tight loop: At first I was perplexed by this, but upon further reflection this makes complete sense. The grub interpeter is executing a loop that polls the keyboard IO port for data, and continues to do so over and over again. Since most systems don't stay at the grub prompt for extended periods of time, the grub developers didn't use the HLT instruction to idle the CPUs when no actual work was being performed…

$ read more →

Installing and using facter on Solaris and Linux hosts

infrastructureJun 2, 2009 1 min

I have been playing around with puppet, which is an awesome configuration management tool. Puppet allows you to apply configurations to nodes based on one or more facts (a fact is a specific piece of information, such as a list of network interfaces), which includes everything from operating system information to the network configuration. To gather this information, puppet uses facter, which provides a consistent way to locate information about a machine in a machine independent way. To install facter, you can use your favorite package manager, or run the following to install from source: Once facter is installed, you can use the facter program to list all of the available facts on your system: To retrieve the value of a fact, you can run facter with the name of the facts you want to display: I'm hoping to start writing about puppet, and my experiences using it to manage my lab…

$ read more →