Wiki

A universe of ideas

User Tools

Site Tools


uni:ba:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
uni:ba:start [2014-03-21 04:35] skrupellosuni:ba:start [2020-11-18 18:11] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Bachelor Arbeit ====== ====== Bachelor Arbeit ======
 +  * [[writer]]
 ===== Komponenten ===== ===== Komponenten =====
 <code> <code>
Line 26: Line 27:
  
 ===== Ablauf ===== ===== Ablauf =====
 +[[epoll]]
 +
 +
 <code> <code>
  Thread 1  Thread 1
Line 41: Line 45:
 Aktion kann ohne kontextwechsel ausgeführt werden, sobald blokiert wird, kann weitergearbeitet werden (da mindestens poll() wieder läuft) Aktion kann ohne kontextwechsel ausgeführt werden, sobald blokiert wird, kann weitergearbeitet werden (da mindestens poll() wieder läuft)
  
-  - **blokierendes select** +  - **blokierendes select** \\ select() eine der poll Varianten oder libev im one-shot-modus aufrufen und waren bis es sich beendet.
-  ::select() eine der poll Varianten oder libev im one-shot-modus aufrufen und waren bis es sich beendet. +
-  +
   - **Erkennen um welches event es sich handelt/welchen FD**   - **Erkennen um welches event es sich handelt/welchen FD**
-    * Signal +    * Signal \\ haben wir hier ein Problem mit mutex?
-      :: haben wir hier ein Problem mit mutex?+
       - Ein shutdown flag setzen       - Ein shutdown flag setzen
       - alle connections über das shutdown event informieren       - alle connections über das shutdown event informieren
Line 83: Line 84:
   * Wer setzt den thinking timeout durch? (Protocol adapter, dann brauch das game selbst keine timeouts?)   * Wer setzt den thinking timeout durch? (Protocol adapter, dann brauch das game selbst keine timeouts?)
   * Wie wird der write abfluss sicher gestellt (blocken des schreibers bei flush() hilft nicht, ein anderer player auf einem anderen thread schon weiter machen kann) (Lösung libev subqueues ?)   * Wie wird der write abfluss sicher gestellt (blocken des schreibers bei flush() hilft nicht, ein anderer player auf einem anderen thread schon weiter machen kann) (Lösung libev subqueues ?)
 +
 +===== Links =====
 +  * D
 +    * [[http://code.dlang.org/search|D Packages]]
 +    * [[https://github.com/adilbaig/Epoll-D2|epoll]]
 +    * [[https://github.com/denizzzka/dpq2|PostgreSQL wraper]]
 +    * [[https://github.com/1100110/ZeroMQ|ZeroMQ]]
 +  * PostgreSQL
 +    * [[http://www.postgresql.org/docs/9.3/static/libpq.html|Library documentation]] (libpq)
 +  * epoll
 +    * [[http://stackoverflow.com/questions/5541054/how-to-correctly-read-data-when-using-epoll-wait|Multithreaded, level triggered]]
 +    * [[http://stackoverflow.com/questions/12481245/epoll-wait-on-several-threads-faster|Multithreaded, edge triggered]]
 +    * [[https://groups.google.com/forum/#!topic/linux.kernel/yVkl-7IRKwM|Merkwürdige Probleme]]
 +  * libev
 +    * [[http://cvs.schmorp.de/libev/|Source]]
 +    * [[http://doc.dvgu.ru/devel/ev.html|Documentation]]
 +    * [[https://github.com/patrikfors/libev-examples/blob/master/chat-server/chat-server.c|Chat server]]
 +  * Misc
 +    * [[https://developers.google.com/protocol-buffers/|Protocol Buffers]]
 +    * [[https://github.com/brianwatling/libfiber|libfiber]]
 +    * [[http://olkhovskiy.me/libevfibers/|libevfibers]]
 +    * [[http://thrift.apache.org/|Apache Thrift homepage]]
 +    * [[https://github.com/apache/thrift/tree/master/lib/d/src/thrift/server|Apache Thrift source]]
 +    * [[http://avro.apache.org/|Apache Avro]]
 +    * [[http://zeromq.org/|ZeroMQ]]
 +    * [[http://www.kegel.com/c10k.html|The C10K problem]] (wie geht man sinnvoll mit vielen connections um)
 +    * [[http://www.aosabook.org/en/nginx.html|Nginx Architektur]]
 +    * [[http://www.aosabook.org/en/zeromq.html|ZeroMQ Architektur]]
uni/ba/start.1395372918.txt.gz · Last modified: 2020-11-18 18:10 (external edit)