2H23 Priorities Update (06/29/2023)

This document lists the current 2H23 priorities as of 6/29/2023 - the very first such list produced by the RISE Technical Steering Committee. Because we're starting from "ground zero", the approach taken has been to:

  • Share individual company priorities for each of the eight identified categories, which includes ongoing projects.
  • Create work groups (WGs) for each category to allow work to be done in parallel.
    • Deduplicate, identify dependencies.
    • Prioritize in order of importance.
  • Identify further dependencies and trends at the TSC level.

This can be best summed up as "bottom up" approach or "getting the lay of the land". Such an approach enables the TSC to build the "big picture" of where most of the development is happening, with the expectation that identified trends will help shape further (1H24, 2H24) priorities.

Contents:

Work Group-Identified Priorities

System Libraries

Lead is Nathan Egge (Google).

Current focus is mostly Standard C and SSL library enablement.

Overall, this WG currently suffers from very weak team engagement, likely due to the extreme breadth of projects under this category and limited multiple-company engagement within each subcategory. This WG has 3 distinct subcategories:

  • Core system libraries (applies anywhere)
  • Android enablement
  • HPC

System Library work has the following cross-WG dependencies:

No projects are requesting RISE resources at this time.

Simulators/Emulators

Lead is Daniel Barboza (Ventana).

Current focus is on Qemu improvements to improve overall developer experience around Qemu, including feature completeness in modeling the emulated userspace Linux environment, improvements to host support for certain platform features and improvements to the emulated platforms to sustain new use-cases.

No projects are requesting RISE resources at this time.

Language Runtimes

Lead is Ludovic Henry (Rivos).

Most of the projects are in Java but are still missing the necessary depth and scoping.

Overall, this WG currently suffers from very weak team engagement. This may indicate a lack of interest on behalf of WG members to invest into this category.

No projects are requesting RISE resources at this time.

Kernel and Virtualization

Lead is Anup Patel (Ventana).

Current kernel projects focus on core ISA ("V" extension), feature completeness (KASAN, memory hotplug) and platform enablement (ACPI, IOMMU). Current KVM focus is on AIA virtualization and "V" extension virtualization.

A number of projects are already completed and upstreamed, and these are consequently crossed out.

No projects are requesting RISE resources at this time.

Firmware

Lead is Sunil V L (Ventana).

Currently prioritized projects primarily revolve around Tiano EDK2 enablement - core support to support new hardware (SSTC, CMO, MMU), platform support projects (StandaloneMmPkg for secure flash, MultiArchUefiPkg for PCIe OpRom emulation). Some work is already completed and is either going through upstreaming (CMO, MMU support) or further community validation (MultiArchUefiPkg). Two of the projects are net new contributions - StandaloneMmPkg port to RISC-V and TF-M port to RISC-V.

No projects are requesting RISE resources at this time.

The CoVE and CoVE-IO specs need to evolve to accommodate StandaloneMmPkg scenario.

There's been an interest in porting TF-A, but this has not yet solidified into something concrete.

Distro Integration

Lead is Brian Harrington (Red Hat).

Work is focused on two kinds of projects.

  • Issues common to multiple Linux distros (e.g. bugs/features in common packages)
  • Enabling a specific Linux distro, provided the Linux distro has a champion/vendor
    • The champion identifies the directions/projects.
    • The WG works to prioritize, unravel dependencies on other WGs or file projects in other WGs .
    • Further scoping happening with Tizen enablement based on Tizen RISC-V Status.

Overall, this WG currently suffers from very weak team engagement. This may indicate a lack of interest on behalf of WG members to invest into this category.

No projects are requesting RISE resources at this time.

Debug and Profiling

Lead is Fei Wu (Intel).

Only two project have been identified with sufficient scope and detail.

Overall, this WG currently suffers from very weak team engagement. This may indicate a lack of interest on behalf of WG members to invest into this category.

No projects are requesting RISE resources at this time.

Compilers and Toolchains

Lead is Jeff Law (Ventana).

Focus is LLVM and GCC-based projects targeting features and distro blockers (Zfa, shadow stacks, atomics) or optimization (fusion, autovectorization). Although some of the projects represent ongoing work, the WG has identified new projects like binary distribution of GCC-13 with backported patches for autovectorization.

A number of projects are already completed and upstreamed, and these are consequently crossed out.

LLVM Enablement

GCC Enablement

Distribution

The following cross-WG dependencies exist:

No projects are requesting RISE resources at this time.

Specification Dependencies

Observations

Prioritization Activities

Current prioritization efforts were "bottom up". This meant the WGs were largely left to their own devices in terms of identifying priorities. Such an approach enabled the TSC to identify trends to help shape further (1H24, 2H24) priorities.

Overall, three trends (market directions) are evident:

  1. General-purpose compute (aka "server")
  2. HPC (differentiated from "server" by a different software stack)
  3. Consumer / Mobile (Android, Tizen, possible bridges to existing AArch64 software)

These are all dependent on:

  • Base developer / SW ecosystem enablement, seen with toolchain/runtime and emulator work.

It's reasonable to work across a couple of directions that are different enough from each other to have the maximum impact from enablement activities. Such two directions could be server and consumer.

Prioritized Projects

None of the current projects have a RISE requirement for funding or resourcing, which makes sense as all of the projects involve existing RISE member resources. Yet this is somewhat unhelpful is it doesn't communicate the overall level of RISE member engagement within a specific project/category. 

Organization

WG operation and "success rate" varies wildly, with three distinct groups:

  • Well-formed groups with good momentum around existing/ongoing collaborations (toolchain, kernel)
  • Well-formed groups with good momentum around net new collaborations (firmware)
  • Ill-formed groups with weak engagement and/or too wide of a scope.
    • Either very few participate (1 person show, i.e. the lead)
    • Little overlap between proposed projects and WG members (i.e. 1 company projects).

A lot of the WGs structure their progress around periodic meetings, with mailing lists (subjectively) not adopted as the primary medium for organizing/regulating activities.

WGs with weak engagement result in significant (time-wise)  and unreasonable commitments from WG leads. Weak team engagement or extremely broad scopes make prioritization efforts challenging. Weak engagement specifically results in prioritization efforts that are not representative of the entirety of RISE member interests.

Action Items

These are discussable.

Board

  • Setting direction to the TSC:
    • Detailed feedback on this document.
    • The Board needs to chose/confirm the trends to follow further prioritization on.
  • Forcing functions on consistency of TSC/WG deliverables:
    • Each RISE member company needs to re-evaluate its interest in the System Libraries, Language Runtimes, Distro Integration and Debug and Profiling Work Groups and make appropriate recommendations to its WG representatives around participation and engagement.
    • RISE Board members are encouraged to drill down into individual projects and reach out to the WG leads for clarification.
    • If desired, we could do WG-specific overview/updates to the Board for categories of interest (or even rotate these, doing a different category every other week).
  • Accounting
    • Board should advise how to account for existing RISE member engineering engagement (including 3rd party contractors) vs RISE-specific engineers (none of the latter have been declared). It should be clear overall how many individuals are involved, even if these are not technically RISE-funded resources.

TSC

Forcing functions on WG deliverables.

  • Encourage email-driven instead of meeting-driven collaboration.
  • Use TSC meeting deep dives into a WG to help motivate measurable progress.

For each of the Board-confirmed market directions , the TSC ought to:

  • Come up with the representative software stack to align development (and WG prioritization activities).
  • Identify CPU and platform requirements to sustain the representative software stack, to be reported back to RVI to aid system/platform profile definition work.