Cavium ThunderX Server SoC Features up to 48 ARM 64-bit Cores

ARM SBSA specification for server supports up to 268,435,456 CPU cores for the second level of standardization on one or a combination of SoCs. We’re not quite up there just yet, but Cavium ThunderX is an ARM server SoC with up to 48 cores on a single chip, which is the highest number of cores I’ve ever heard of in an ARM SoC. The company created their own custom processor cores using an ARMv8 architecture license, designing an SoC complies with ARM’s Server Base System Architecture (SBSA) standard with the following key features: ARM based SoC that scales up from 8 to 48 cores with up to 2.5 GHz core frequency with 78K I-Cache, 32K D-Cache, and 16MB L2 cache. Fully cache coherent across dual sockets using Cavium Coherent Processor Interconnect (CCPI) Integrated I/O capacity with 100s of Gigabits of I/O bandwidth 4x DDR3/4 72-bit memory controllers supporting up to 1TB RAM @ 2400 MHz in a dual socket configuration Hundreds of …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

BTRFS The Next Linux File Systems

BTRFS (B-tree file system) is a GPL copy-on-write file system for Linux developed by Oracle and is expected to replace ext4 as the default file system in future Linux distributions. Here are the main features of BRTFS (pronounced like Better FS): Extend file system (264 max file size: 16 Exabytes) Copy on write (COW) data and meta-data Space efficient packaging of small file Optional transparency compression (zlib/LZO) Integrity checksumming (CRC-32C) for data and meta-data Writable snapshots Subvolumes Online resize,  defragmentation, device management Multiple device support (pool of storage) Offline conversion from ext3 and ext4 Specialized log for fast sync and O_SYNC writes BTRFS is included in the Linux kernel (since Linux 2.6.29) and can be enabled during installation of several distributions such as Fedora 15 and Ubuntu 10.10, but is not officially the default file system just yet. To learn more about the internal of BTRFS you can watch the 30 minutes BTRFS training by Oracle / The Linux Foundation. …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Cross compiling Berkeley DB for ARM and MIPS

Following my blog entry about Databases for Linux Embedded Systems, here are the instructions to cross-compile Oracle Berkeley DB. First download the source code of the latest version of Berkeley DB (version 11gR2 – 11.2.5.1.25). You’ll need to register on Oracle website first on the download page http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html to download http://download.oracle.com/otn/berkeley-db/db-5.1.25.tar.gz (with AES encryption) or  http://download.oracle.com/otn/berkeley-db/db-5.1.25.NC.tar.gz (if you don’t need encryption). Extract the source code: tar xzvf ../Downloads/db-5.1.25.tar.gz Configure and build the source code. I’ll use mipsel-linux-gcc, but any other cross-compiler could be used. cd db-5.1.25/build_unix ../dist/configure –host=mipsel-linux CC=mipsel-linux-gcc RANLIB=mipsel-linux-ranlib STRIP=mipsel-linux-strip AR=mipsel-linux-ar –prefix=/home/jaufranc/edev/lib/db-11g make make install The full berkeley DB package is 79MB: [email protected]:~/edev/lib/db-11g$ du –max-depth=1 -h 6.6M    ./lib 308K    ./bin 72M    ./docs 176K    ./include 79M    . However, you won’t need the include and docs directory in your embedded target. So you do not need to copy those. You may or may need the utilities in the bin file. The lib diirectory contains two versions of the static library (why?) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Databases for Linux Embedded Systems: Berkeley DB and SQLite

Embedded systems often need to use database to store contact information, EPG data and more. Many Linux systems use MySQL, however such a large database management system may not always be appropriate for embedded systems. Hence, there are lightweight database management systems  implementation that are especially suited to embedded systems by their binary footprint, memory footprint and CPU requirements. If you want to develop in C in Linux and your requirement is to have no (or little) license to pay in your application, you could consider Oracle Berkeley DB or SQLite among others. Oracle Berkeley DB (previously Sleepycat Berkeley DB)  is described as follows: Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects. Berkeley DB provides a collection of well-proven building-block technologies that can be configured to address any application need from the hand-held device to the datacenter, from a local storage solution to a world-wide distributed one, from kilobytes …

Support CNX Software – Donate via PayPal or become a Patron on Patreon