Monthly Archives: November 2015

rdma modules

mellanox ethernet mode
============================

mellanox infiniband mode
======================

rdma modules

qemu call stack

 

regular MMIO
============
nvme_mmio_write (qemu/hw/block/nvme.c:921)
memory_region_write_accessor (qemu/memory.c:451)
access_with_adjusted_size (qemu/memory.c:506)
memory_region_dispatch_write (qemu/memory.c:1158)
address_space_rw (qemu/exec.c:2547)
kvm_cpu_exec (qemu/kvm-all.c:1849)
qemu_kvm_cpu_thread_fn (qemu/cpus.c:1050)
start_thread (pthread_create.c:312)
clone

eventfd MMIO
==============
nvme_sq_notifier (qemu/hw/block/nvme.c:598)
aio_dispatch (qemu/aio-posix.c:329)
aio_ctx_dispatch (qemu/async.c:232)
g_main_context_dispatch
glib_pollfds_poll (qemu/main-loop.c:213)
os_host_main_loop_wait (qemu/main-loop.c:257)
main_loop_wait (qemu/main-loop.c:504)
main_loop (qemu/vl.c:1920)
main (qemu/vl.c:4682)
__libc_start_main

aio completion
==============
nvme_rw_cb (qemu-google/hw/block/nvme.c:244)
dma_complete (qemu-google/dma-helpers.c:115)
dma_blk_cb (qemu-google/dma-helpers.c:136)
bdrv_co_complete (qemu-google/block/io.c:2113)
bdrv_co_do_rw (qemu-google/block/io.c:2152)
coroutine_trampoline (qemu-google/util/coroutine-ucontext.c:81)
/lib/x86_64-linux-gnu/libc.so.6(+0x498b0) ../sysdeps/unix/sysv/linux/x86_64/__start_context.S:32

iothread
=========
handle_notify (qemu/hw/block/dataplane/virtio-blk.c:126)
aio_dispatch (qemu/aio-posix.c:329)
aio_poll (qemu/aio-posix.c:474)
iothread_run (qemu/iothread.c:45)
start_thread (pthread_create.c:312)
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)

configure linux as router

eth3: public IP

eth4: private IP

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
iptables -A FORWARD -i eth3 -o eth4 -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth4 -o eth3 -j ACCEPT

Software Engineer, Storage

 https://www.facebook.com/careers/jobs/a0IA000000CypMgMAJ/

Software Engineer, Storage

Facebook was built to help people connect and share, and over the last decade our tools have played a critical part in changing how people around the world communicate with one another. With over a billion people using the service and more than fifty offices around the globe, a career at Facebook offers countless ways to make an impact in a fast growing organization.
Facebook is seeking an experienced Software Engineer to join our storage team. The storage team is responsible for improving efficiencies by building more efficient systems for storing data as we grow from todays massive scale (hundreds of peta bytes) to a ridiculous scale (exa bytes). They are also responsible for providing distributed, fault-tolerant and cost effective storage technologies for various storage needs. The position is full-time (based in Menlo Park, CA) and there are minimal travel requirements.

Responsibilities

  • Design and implement software improvements to software systems that provides data persistence (such as MySQL, Haystack, HDFS, HBase, and other key-value stores)
  • Analyze and improve reliability, availability, efficiency of Facebook’s distributed database and storage systems
  • Develop tools for testing, monitoring, and improving database/storage system performance, reliability and efficiency
  • Work closely with operation team to build operational friendly software system
  • Work with other teams to incorporate their innovations and vice versa

Requirements

  • Bachelor’s Degree in Computer Science or related field
  • At least 2yrs developing and debugging in system level C/C++/Java, particularly on Linux
  • At least 2yrs with filesystems, concurrency, multithreading, server architectures, and distributed systems
  • Experience in developing distributed storage systems and servers
  • Experience working on database internals or multi-threaded server internals
  • Passionate about storage system and have good knowledge about trade offs between various storage media (disk, SSD devices, high end flash card) *Preferred