Skip to content

Expand ARM Architecture Compatibility #5954

@halibobo1205

Description

@halibobo1205

Background

Java-Tron currently only supports the x86 architecture. Nevertheless, ARM architecture has gained significant traction recently, especially in cloud computing and mobile devices. ARM processors are known for their energy efficiency and cost-effectiveness, making them increasingly popular in data centers, cloud computing, and edge computing scenarios. It would be great to have the option to run Java-Tron on the ARM architecture.

Key developments in ARM architecture:

ARM advantages:

Related Issues and PRs

Scope of Impact

  • Build and deployment processes
  • Core application code
  • Third-party dependencies
  • Development and testing environments

Current Progress Summary

  1. JDK version

    • x86 is limited to JDK 1.8
    • arm is limited to JDK 17
  2. Native code

  3. Third-party dependencies

  4. Floating-point arithmetic

  5. Build and deployment process

    • Update build scripts to support ARM architecture.
    • Ensure CI/CD pipelines can be built and tested in ARM environments.
    • Docker support
  6. only supports RocksDB

    • FullNode.jar and Tookit.jar only support RocksDB on arm
    • Tookit.jar db archive,db convert commands are not supported on arm
    • ArchiveManifest.jar is not supported on arm
  7. x86 vs ARM Performance Comparison

Test Category Test Type Winner Performance Difference Notes
Database Read Random Read X86 X86 outperforms ARM by ~60% Significant advantage in random I/O
Database Read Sequential Read ARM ARM outperforms X86 by ~6% Better sequential access efficiency
Serialization Serialization ARM ARM outperforms X86 by ~170% Substantial advantage in data serialization
Serialization Deserialization ARM ARM outperforms X86 by ~3% Minimal but consistent advantage
Transaction TRX Transfer X86 X86 outperforms ARM by ~23.8% Better TRX transaction processing
Transaction USDT Transfer Comparable No significant difference Similar performance on both platforms
Signature Verification Serial Processing X86 X86 outperforms ARM by ~14% Single-threaded verification advantage
Signature Verification Parallel Processing ARM ARM outperforms X86 by ~18% Multi-threaded verification advantage

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions