def METHOD_NAME():
    """reader"""
    batch_info = list(
        node_batch_iter(
            node_index, node_label, batch_size=batch_size))
    block_size = int(len(batch_info) / num_workers + 1)
    reader_pool = []
    for i in range(num_workers):
        reader_pool.append(
            worker(batch_info[block_size * i:block_size * (i + 1)], graph,
                   graph_wrapper, samples))
    if len(reader_pool) == 1:
        r = parse_to_subgraph(reader_pool[0],
                              repr(graph_wrapper), graph.node_feat,
                              with_parent_node_index)
    else:
        multi_process_sample = mp_reader.multiprocess_reader(
            reader_pool, use_pipe=True, queue_size=1000)
        r = parse_to_subgraph(multi_process_sample,
                              repr(graph_wrapper), graph.node_feat,
                              with_parent_node_index)
    return paddle.METHOD_NAME.buffered(r, num_workers)