- RDMA Aware Networks Programming User Manual
- On the Impact of Cluster Configuration on RoCE Application Design
- RDMA over Commodity Ethernet at Scale
- Design Guidelines for High Performance RDMA Systems
- FaSST: Fast, Scalable and Simple Distributed Transactions with Two-sided (RDMA) Datagram RPCs
- RDMA [1]: A short history of remote DMA networking
- [Slide] RDMA Tutorial
- Understanding the concepts and mechanisms of RDMA
- [InfiniBand RDMA over PCI Express Networ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SEC("xdp") | |
int xdp_nodeport_redirect(struct xdp_md *ctx) | |
{ | |
void *data_end = (void *)(long)ctx->data_end; | |
void *data = (void *)(long)ctx->data; | |
struct bpf_fib_lookup fib_params = {}; | |
struct ethhdr *eth = data; | |
struct tcphdr *tcph; | |
u16 h_proto; | |
u64 nh_off; |
The post Go is not C, so there is not an extreme fast way to merge slices alleges a performance problem with Go's model of zeroing memory on allocation, in cases where it might not be needed. The methodology is
- Run a benchmark that merges some slices, by
make
ing one of the appropriate size and copying the individual slices over - Run a benchmark that zeros a slice of the appropriate slice
- Subtract the two numbers and call it the "overhead of zeroing"
I have some trouble with that methodology. For one, it assumes that the zeroing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ( | |
"encoding/base64" | |
"fmt" | |
"io/ioutil" | |
"os" | |
) | |
func main() { | |
r, err := os.Open("yourimagehere.png") | |
if err != nil { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"golang.org/x/net/context" | |
"github.com/docker/docker/api/types" | |
"github.com/docker/docker/api/types/container" | |
"github.com/docker/docker/api/types/network" | |
"github.com/docker/docker/cli/command" | |
"github.com/docker/docker/client" | |
"fmt" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"bufio" | |
"fmt" | |
"net" | |
"os" | |
"syscall" | |
) |
Moved to git repository: https://github.com/denji/golang-tls
# Key considerations for algorithm "RSA" ≥ 2048-bit
openssl genrsa -out server.key 2048
# Key considerations for algorithm "ECDSA" ≥ secp384r1
# List ECDSA the supported curves (openssl ecparam -list_curves)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
) | |
func decorator(f func(s string)) func(s string) { | |
return func(s string) { | |
fmt.Println("Started") |