Designing a new server is time-consuming and expensive, and it is not feasible to build a new server every time a new topology is designed. Our projects aims to alleviate that cost by simulating and emulating different server configurations in software, and allowing different software applications traditionally run on the server to run through our emulation. Through our approach, we can see how different components and their latencies affect the performance of different server architectures without the overhead of physically constructing a new server. Our tool will allow engineers to bypass the other activities usually needed when introducing a new server architecture (BIOS firmware, device drivers, etc.) while still being able to test the performance of different server architectures.