In the last year, we've gone from millions of pieces of data to billions of pieces of data. I will speak on a solution for scaling up and about the challenges presented. Also covered will be the future of data at Qihoo 360 with MongoDB.
Building a server to manage high concurrent connections is non-trival task. For those developers that use ActionScript 3 to build games on the client side it means having a totally different skillset. Being able to use ActionScript 3 on the server to build MMO’s or port client code to the server allows developers to leverage their skills on the server.
By walking through a live game example with more then 15,000 concurrent connections running on a medium Amazon EC2 server the presentation will:
1. Introduce Linux server configuration for high concurrent connected usage.
2. Introduce Socket class based on libev library for high concurrent connection.
3. Introduce leveraging Tamarin project for ActionScript 3 on the server.
This slide talk about more details about Docker and what is Docker Swarm mode.
There are also some examples in this slide, you can follow them to practice.
In the last year, we've gone from millions of pieces of data to billions of pieces of data. I will speak on a solution for scaling up and about the challenges presented. Also covered will be the future of data at Qihoo 360 with MongoDB.
Building a server to manage high concurrent connections is non-trival task. For those developers that use ActionScript 3 to build games on the client side it means having a totally different skillset. Being able to use ActionScript 3 on the server to build MMO’s or port client code to the server allows developers to leverage their skills on the server.
By walking through a live game example with more then 15,000 concurrent connections running on a medium Amazon EC2 server the presentation will:
1. Introduce Linux server configuration for high concurrent connected usage.
2. Introduce Socket class based on libev library for high concurrent connection.
3. Introduce leveraging Tamarin project for ActionScript 3 on the server.
This slide talk about more details about Docker and what is Docker Swarm mode.
There are also some examples in this slide, you can follow them to practice.
Check out my blog : https://oalieno.github.io/2019/06/07/security/pwn/rootkit/
Introduction and implementation of rootkit. Targeting linux kernel 5.x.x.
Python uses different allocators and memory pools to manage object memory. Small integer and single character objects are stored in pools directly initialized by the interpreter to save memory. Other objects like strings and containers are stored on the heap with reference counting. The garbage collector uses reference counting and mark-and-sweep to collect unreachable objects and free memory.
This document summarizes key concepts in MySQL InnoDB, including its basic structure, ACID concepts, buffer pool, and MVCC implementation. It discusses InnoDB's abstract data structures like tablespaces, segments, extents, and pages. It also covers B+tree data structures, file systems vs disks, partial page writes, dirty pages, and the doublewrite buffer.
Python uses the Global Interpreter Lock (GIL) which allows only one thread to hold the lock for a Python interpreter at any one time. This can limit performance in CPU-bound multithreaded applications. The GIL is released for I/O-bound operations to allow other threads to run while waiting for I/O to complete. It exists to simplify the CPython implementation but can reduce parallelism, so workarounds like multiprocessing are used for truly multithreaded tasks. There is ongoing discussion on completely removing the GIL but it would require significant changes to the Python interpreter.
This document discusses various concepts related to network programming in Linux including DMA, sockets, TCP, buffering, forking, file descriptor handling, and event loops. It asks questions about techniques like select vs epoll and comparing asynchronous event models like libevent, libuv, and others. Network programming concepts like backlogs, accepting connections, and reusing sockets are mentioned alongside discussing prefork vs epoll models and managing worker processes.
66. send full channel?
G1
calls into the scheduler
set G1 to waiting
unlink G1, M
ch <- task, but chan is full
G1
M
P
G2 runnable
G1
waiting
schedule a runnable G
from the P runqueue
runQ
is block, so gopark()
67. resuming goroutines
G2
calls into the scheduler
set G1 to runnable
puts it on runqueue
task := <- chan, then sender can run G2
M
P
G1
runnable
return to G2
runQ
goready(G1)
G0
current G