Skip to content

Diskplorer fails on powerful instance and high max concurrency. #10

Open
@pveentjer

Description

@pveentjer

When -m setting is set to a high value like 1000 and running an ec2 instance like i3en.metal with a high number of cores, fio fails because a fio specification is generated with too many tasks. Fio can't deal with more than 4096 tasks.

When I change the 'growth' in the following code from 1.05 to 1.10, then the number of generated tasks is sufficiently reduced to let fio run with max concurrency of 2000.

def create_fio_spec(fname):
    with open(fname, 'w') as f:
        f.write(header.format(**globals()))
        depth = 1
        growth = 1.05
        while depth <= maxdepth:
            depth_remain = depth
            threads_remain = max_threads
            new_group = 'stonewall'
            # distribute load among max_threads
            while depth_remain:
                depth_now = int(depth_remain / threads_remain)
                if depth_now:
                    f.write(job_template.format(jobname=depth, depth=depth_now, new_group=new_group))
                    new_group = ''
                    depth_remain -= depth_now
                threads_remain -= 1
            depth = int(max(math.ceil(depth * growth), depth + 1))

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