Our programming abstraction extends the BSP model supporting both vertex-centric [16] and edge-centric [23] programming. The API for the programming abstraction is listed in Table 3. In the ini-tialization phase, the users determine which FIFOs they plan to use and what function to call when a packet is received. This receive