jepsen.tarantool
Time-Appliance-Project
jepsen.tarantool | Time-Appliance-Project | |
---|---|---|
4 | 13 | |
7 | 1,291 | |
- | 1.9% | |
0.0 | 9.1 | |
11 months ago | 5 days ago | |
Clojure | C | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jepsen.tarantool
- Ask HN: What are some unpopular technologies you wish people knew more about?
-
Databases = Frameworks for Distributed Systems
Tarantool is an application server for distributed systems written in Lua. Lua applications launched in Tarantool have API access to the following components:
-
Ten-year experience in DBMS testing
In 2020, we added support for synchronous replication and MVCC. We had to test this functionality, so we decided to write some tests powered by Jepsen framework. We check consistency by analyzing the transaction history. But the story about testing with Jepsen is big enough for a separate article, so we'll talk about it next time.
Time-Appliance-Project
- Time Card Mini Adds Pi, GPS, and OXCO to Your PC
-
Meta's Reality Labs lost $3.99 billion last year, bringing its total losses since 2020 to $30 billion
Even just specific projects under that have been impactful. For example the open time server project.
- What’s the most granular magnitude of time (Picosecond, Femtosecond, etc.) that a CPU can return when it’s queried for system time?
-
New atomic clock loses only one second every 300B years
Facebooks Time Card is a good starting point if you want to start looking into how higher end timing devices are built: https://github.com/opencomputeproject/Time-Appliance-Project...
Afaik its not currently available for purchase, so it is more of a diy route. If you want a standalone unit, it probably wouldn't be too big of hassle to ducktape that Time Card to e.g. Raspberry Pi CM4 or similar module with pcie and drive a display (or whatev) that way. Or that FPGA on the Time Card probably has enough spare capacity to do it directly too, for a simplified architecture (and maybe better hard realtime control).
- Time Appliance Project
-
Host your own Stratum 1 NTP (network time protocol) server using a $12 USD USB GPS to keep all your other servers synchronized
Now you can get/build your own atomic pcie clock for ~$300-2000 for your rack!
-
Time Card
Time Card is an open-source solution for PTP-enabled networks that provides the accurate time via GNSS—with a high stability (and holdover) oscillator such as an atomic clock as a backup in the event of GNSS failure. zeroibis recommends it for those who "need to go the full self-hosted NTP route."
-
NTP - Help!
On a related note if you need to go the full self hosted NTP route: https://github.com/opencomputeproject/Time-Appliance-Project/tree/master/Time-Card
-
Facebook open-sourcing a more precise time server
Really nice of them to release this. However, unless I'm missing something, the HDL for the FPGA on the Time Card is not part of the release. It looks like it uses a proprietary IP core from NetTimeLogic
https://github.com/opencomputeproject/Time-Appliance-Project...
They do include FPGA bit streams, but it's disingenuous to claim a fully open source release.
What are some alternatives?
luatest - Tarantool test framework written in Lua
fboss - Facebook Open Switching System Software for controlling network switches.
YCSB - Yahoo! Cloud Serving Benchmark
GNSSTimeServer - WiFi-enabled GNSS (GPS, BeiDou, GLONASS, Galileo) fed NTP/RDATE server based on ESP8266/ESP32 and Arduino
queue - Create task queues, add and take jobs, monitor failed tasks
beaglebone-gps-clock
luaunit - LuaUnit is a popular unit-testing framework for Lua, with an interface typical of xUnit libraries (Python unittest, Junit, NUnit, ...). It supports several output formats (Text, TAP, JUnit, ...) to be used directly or work with Continuous Integration platforms (Jenkins, Maven, ...).
onload - OpenOnload high performance user-level network stack
msgpuck - A simple and efficient MsgPack binary serialization library in a self-contained header file
Flicks - A unit of time defined in C++.
tarantool-c - A new C client for Tarantool 1.6+
magma - Platform for building access networks and modular network services