Skip to content

bonnie++ benchmark fails #126

@A-Reser

Description

@A-Reser

Description of the problem

I want to benchmark a graminized image with bonnie++ to compare it with a normal docker image and native system.

Bonnie++ is a small utility with the purpose of benchmarking file system IO performance. It’s available in standard Ubuntu repository.

To perform the test Bonnie++ need a non-root user.

Steps to reproduce

  • Create a test.sh with echo command
  • Create a Dockerfile for Ubuntu 22.04 with a group, user and directory with write permissions for the user.
  • Build the docker base image
  • Graminize and sign the container
  • Add read/write permissions to others for /dev/sgx_enclave
  • Run the gsc-container

Dockerfile:

FROM ubuntu:22.04

RUN groupadd -r bonnie -g 1000 && useradd -u 1000 -r -g bonnie -s /sbin/nologin -c "Docker image  bonnie user" bonnie`

RUN apt -y update
RUN apt -y install "bonnie++"

RUN mkdir BONNIE && chown -R bonnie BONNIE

CMD ["/usr/sbin/bonnie", "-d/BONNIE", "-u 1000"]

generic manifest was used
Distribution was changed in config.yaml:
Distro: "ubuntu:22.04"

Expected results

Gramine is starting. Parsing TOML manifest file, this may take some time...
Using uid:1000, gid:1000.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  2.00       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Name:Size etc        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
679fd626fa4e    31G 1229k  99  193m   8 78.6m   5 3216k  99  365m  14  6212  46
Latency              7666us     324ms     571ms    3818us     142ms   13070us
Version  2.00       ------Sequential Create------ --------Random Create--------
679fd626fa4e        -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency              4349us     279us    3469us    3983us      32us    3553us
1.98,2.00,679fd626fa4e,1,1675215498,31G,,8192,5,1229,99,197301,8,80449,5,3216,99,373478,14,6212,46,16,,,,,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,7666us,324ms,571ms,3818us,142ms,13070us,4349us,279us,3469us,3983us,32us,3553us

Actual results

Gramine is starting. Parsing TOML manifest file, this may take some time...
Using uid:1000, gid:1000.
Can't open file ./Bonnie.1

Additional information

I could, without any issues, create a runnable Ubuntu 22.04 gsc container with a "Hello World" alike workload.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions