human
I wrote the below code

    cores = multiprocessing.cpu_count()
    def split_file(in_file, mb_size, split_num=5):
        prefix = os.path.join(os.path.dirname(in_file), ('%sS3PART' % os.path.basename(s3_key_name)))
        max_chunk = s3server['max_chunk_size']
        split_size = int(max(min((mb_size / (split_num * 2.0)), max_chunk), 5))
        if (not os.path.exists(('%saa' % prefix))):
            cl = ['split', ('-b%sm' % split_size), in_file, prefix]
            subprocess.check_call(cl)
        return sorted(glob.glob(('%s*' % prefix)))
    mp = bucket.initiate_multipart_upload(s3_key_name, reduced_redundancy=s3server['use_rr'])
    with multimap(cores) as pmap:
        for _ in pmap(transfer_part, ((s3server, mp.id, mp.key_name, mp.bucket_name, i, part) for (i, part) in enumerate(split_file(tarball, mb_size, cores)))):
            pass
    mp.complete_upload()

What's a good function header?

=====
Give me a Python program to fix = os?
assistant
#Here is Python program to fix = os.

def multipart_upload(s3server, bucket, s3_key_name, tarball, mb_size):