Files
mckernel/docs/locales/ja/LC_MESSAGES/users.po
Masamichi Takagi e17e86840b docs: switch to https://ihkmckernel.readthedocs.io and add contents
Change-Id: I9515034ac372dbe554e1010f646b382c5dc94458
2020-08-19 12:44:03 +09:00

455 lines
12 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2020, Masamichi Takagi, Balazs Gerofi, Yutaka Ishikawa
# This file is distributed under the same license as the IHK/McKernel
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: IHK/McKernel \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-07 10:00+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.7.0\n"
#: ../../users.rst:6
msgid "Architectural Overview"
msgstr ""
#: ../../users.rst:8
msgid ""
"See `Quick Guide -- Architectural Overview <quick.html#architectural-"
"overview>`__."
msgstr ""
#: ../../users.rst:11
msgid "Running Programs"
msgstr ""
#: ../../users.rst:13
msgid ""
"You need to check if your application and pre-/post-processing programs "
"are suited to run with McKernel. Follow the guide below to choose to run "
"the whole on McKernel, or run the whole on Linux, or run pre-/post-"
"processing on Linux and the application on McKernel:"
msgstr ""
#: ../../users.rst:16
msgid "Application"
msgstr ""
#: ../../users.rst:18
msgid ""
"Run the whole on Linux if it issues system calls frequently and becoming "
"the bottleneck with McKernel. For example, it's better to run on Linux "
"those programs performing many file I/O operations."
msgstr ""
#: ../../users.rst:19
msgid "Otherwise, run it on McKernel."
msgstr ""
#: ../../users.rst:21
msgid "Pre-/Post-processing"
msgstr ""
#: ../../users.rst:23
msgid ""
"Run it on McKernel if it consumes a large amount of memory or the "
"execution time isn't prolonged prohivitively with McKernel. The reason "
"for the first condition is that the resource could be limited for Linux "
"CPUs in the nodes for McKernel."
msgstr ""
#: ../../users.rst:24
msgid "Otherwise, run it on Linux."
msgstr ""
#: ../../users.rst:28
msgid "Modify job script"
msgstr ""
#: ../../users.rst:30
msgid ""
"When using job submission system, you need to modify the job scripts so "
"that the job script itself is going to run on Linux. For example, with "
"Fujitsu Technical Computing Suite (TCS), you need to specify "
"``jobenv=linux`` by inserting the following line into the job script:"
msgstr ""
#: ../../users.rst:38
msgid "Insert ``mcexec`` into the command line"
msgstr ""
#: ../../users.rst:40
msgid ""
"You need to insert ``mcexec`` into the command lines invoking the "
"programs that you chose to run on McKernel:"
msgstr ""
#: ../../users.rst:43
msgid "Non-MPI programs"
msgstr ""
#: ../../users.rst:45
msgid "Insert ``mcexec`` before an executable:"
msgstr ""
#: ../../users.rst:52
msgid "MPI programs"
msgstr ""
#: ../../users.rst:54
msgid ""
"Insert ``mcexec -n <processes-per-node>`` **after mpirun** and before an "
"executable:"
msgstr ""
#: ../../users.rst:61
msgid ""
"``<processes-per-node>`` is the number of the processes per node and "
"calculated by (number of MPI processes) / (number of nodes)."
msgstr ""
#: ../../users.rst:64
msgid ""
"For example, ``<processes-per-node>`` equals to 4 (=32/8) when specifying"
" the number of processes and nodes as follows with Fujitsu Technical "
"Computing Suite."
msgstr ""
#: ../../users.rst:74
msgid "Limitations"
msgstr ""
#: ../../users.rst:76
msgid ""
"Pseudo devices such as /dev/mem and /dev/zero are not mmap()ed correctly "
"even if the mmap() returns a success. An access of their mapping receives"
" the SIGSEGV signal."
msgstr ""
#: ../../users.rst:80
msgid ""
"clone() supports only the following flags. All the other flags cause "
"clone() to return error or are simply ignored."
msgstr ""
#: ../../users.rst:83
msgid "CLONE_CHILD_CLEARTID"
msgstr ""
#: ../../users.rst:84
msgid "CLONE_CHILD_SETTID"
msgstr ""
#: ../../users.rst:85
msgid "CLONE_PARENT_SETTID"
msgstr ""
#: ../../users.rst:86
msgid "CLONE_SETTLS"
msgstr ""
#: ../../users.rst:87
msgid "CLONE_SIGHAND"
msgstr ""
#: ../../users.rst:88
msgid "CLONE_VM"
msgstr ""
#: ../../users.rst:90
msgid "PAPI has the following restriction."
msgstr ""
#: ../../users.rst:92
msgid ""
"Number of counters a user can use at the same time is up to the number of"
" the physical counters in the processor."
msgstr ""
#: ../../users.rst:95
msgid "msync writes back only the modified pages mapped by the calling process."
msgstr ""
#: ../../users.rst:98
msgid "The following syscalls always return the ENOSYS error."
msgstr ""
#: ../../users.rst:100
msgid "migrate_pages()"
msgstr ""
#: ../../users.rst:101
msgid "move_pages()"
msgstr ""
#: ../../users.rst:102
msgid "set_robust_list()"
msgstr ""
#: ../../users.rst:104
msgid "The following syscalls always return the EOPNOTSUPP error."
msgstr ""
#: ../../users.rst:106
msgid "arch_prctl(ARCH_SET_GS)"
msgstr ""
#: ../../users.rst:107
msgid "signalfd()"
msgstr ""
#: ../../users.rst:109
msgid "signalfd4() returns a fd, but signal is not notified through the fd."
msgstr ""
#: ../../users.rst:111
msgid "set_rlimit sets the limit values but they are not enforced."
msgstr ""
#: ../../users.rst:113
msgid "Address randomization is not supported."
msgstr ""
#: ../../users.rst:115
msgid ""
"brk() extends the heap more than requestd when -h (extend-heap-by=) "
"option of mcexec is used with the value larger than 4 KiB. "
"syscall_pwrite02 of LTP would fail for this reason. This is because the "
"test expects that the end of the heap is set to the same address as the "
"argument of sbrk() and expects a segmentation violation occurs when it "
"tries to access the memory area right next to the boundary. However, the "
"optimization sets the end to a value larger than the requested. "
"Therefore, the expected segmentation violation doesnt occur."
msgstr ""
#: ../../users.rst:125
msgid ""
"setpriority()/getpriority() wont work. They might set/get the priority "
"of a random mcexec thread. This is because theres no fixed "
"correspondence between a McKernel thread which issues the system call and"
" a mcexec thread which handles the offload request."
msgstr ""
#: ../../users.rst:130
msgid ""
"mbind() can set the policy but it is not used when allocating physical "
"pages."
msgstr ""
#: ../../users.rst:133
msgid ""
"MPOL_F_RELATIVE_NODES and MPOL_INTERLEAVE flags for "
"set_mempolicy()/mbind() are not supported."
msgstr ""
#: ../../users.rst:136
msgid ""
"The MPOL_BIND policy for set_mempolicy()/mbind() works as the same as the"
" MPOL_PREFERRED policy. That is, the physical page allocator doesnt give"
" up the allocation when the specified nodes are running out of pages but "
"continues to search pages in the other nodes."
msgstr ""
#: ../../users.rst:141
msgid ""
"Kernel dump on Linux panic requires Linux kernel CentOS-7.4 and later. In"
" addition, crash_kexec_post_notifiers kernel argument must be given to "
"Linux kernel."
msgstr ""
#: ../../users.rst:145
msgid ""
"setfsuid()/setfsgid() cannot change the id of the calling thread. "
"Instead, it changes that of the mcexec worker thread which takes the "
"system-call offload request."
msgstr ""
#: ../../users.rst:149
msgid ""
"mmap (hugeTLBfs): The physical pages corresponding to a map are released "
"when no McKernel process exist. The next map gets fresh physical pages."
msgstr ""
#: ../../users.rst:153
msgid "Sticky bit on executable file has no effect."
msgstr ""
#: ../../users.rst:155
msgid ""
"Linux (RHEL-7 for x86_64) could hang when offlining CPUs in the process "
"of booting McKernel due to the Linux bug, found in Linux-3.10 and fixed "
"in the later version. One way to circumvent this is to always assign the "
"same CPU set to McKernel."
msgstr ""
#: ../../users.rst:160
msgid "madvise:"
msgstr ""
#: ../../users.rst:162
msgid "MADV_HWPOISON and MADV_SOFT_OFFLINE always returns -EPERM."
msgstr ""
#: ../../users.rst:163
msgid "MADV_MERGEABLE and MADV_UNMERGEABLE always returns -EINVAL."
msgstr ""
#: ../../users.rst:164
msgid ""
"MADV_HUGEPAGE and MADV_NOHUGEPAGE on file map returns -EINVAL except on "
"RHEL-8 for aarch64."
msgstr ""
#: ../../users.rst:167
msgid ""
"brk() and mmap() doesnt report out-of-memory through its return value. "
"Instead, page-fault reports the error."
msgstr ""
#: ../../users.rst:170
msgid ""
"Anonymous mmap pre-maps requested number of pages when contiguous pages "
"are available. Demand paging is used when not available."
msgstr ""
#: ../../users.rst:173
msgid ""
"Mixing page sizes in anonymous shared mapping is not allowed. mmap "
"creates vm_range with one page size. And munmap or mremap that needs the "
"reduced page size changes the sizes of all the pages of the vm_range."
msgstr ""
#: ../../users.rst:178
msgid ""
"ihk_os_getperfevent() could time-out when invoked from Fujitsu TCS (job-"
"scheduler)."
msgstr ""
#: ../../users.rst:181
msgid ""
"The behaviors of madvise and mbind are changed to do nothing and report "
"success as a workaround for Fugaku."
msgstr ""
#: ../../users.rst:184
msgid ""
"mmap() allows unlimited overcommit. Note that it corresponds to setting "
"sysctl ``vm.overcommit_memory`` to 1."
msgstr ""
#~ msgid ""
#~ "At the heart of the stack is "
#~ "a low-level software infrastructure "
#~ "called Interface for Heterogeneous Kernels "
#~ "(IHK). IHK is a general framework "
#~ "that provides capabilities for partitioning"
#~ " resources in a many-core environment"
#~ " (e.g.,CPU cores and physical memory) "
#~ "and it enables management of lightweight"
#~ " kernels. IHK can allocate and "
#~ "release host resources dynamically and "
#~ "no reboot of the host machine is"
#~ " required when altering configuration. IHK"
#~ " also provides a low-level inter-"
#~ "kernel messaging infrastructure, called the"
#~ " Inter-Kernel Communication (IKC) layer."
#~ " An architectural overview of the "
#~ "main system components is shown below."
#~ msgstr ""
#~ msgid ""
#~ "McKernel is a lightweight kernel written"
#~ " from scratch. It is designed for "
#~ "HPC and is booted from IHK. "
#~ "McKernel retains a binary compatible ABI"
#~ " with Linux, however, it implements "
#~ "only a small set of performance "
#~ "sensitive system calls and the rest "
#~ "are offloaded to Linux. Specifically, "
#~ "McKernel has its own memory management,"
#~ " it supports processes and multi-"
#~ "threading with a simple round-robin "
#~ "cooperative (tick-less) scheduler, and "
#~ "it implements signaling. It also allows"
#~ " inter-process memory mappings and it"
#~ " provides interfaces to hardware "
#~ "performance counters."
#~ msgstr ""
#~ msgid "Functionality"
#~ msgstr ""
#~ msgid ""
#~ "An overview of some of the "
#~ "principal functionalities of the IHK/McKernel"
#~ " stack is provided below."
#~ msgstr ""
#~ msgid "System Call Offloading"
#~ msgstr ""
#~ msgid ""
#~ "System call forwarding in McKernel is"
#~ " implemented as follows. When an "
#~ "offloaded system call occurs, McKernel "
#~ "marshals the system call number along"
#~ " with its arguments and sends a "
#~ "message to Linux via a dedicated "
#~ "IKC channel. The corresponding proxy "
#~ "process running on Linux is by "
#~ "default waiting for system call requests"
#~ " through an ioctl() call into IHKs"
#~ " system call delegator kernel module. "
#~ "The delegator kernel modules IKC "
#~ "interrupt handler wakes up the proxy "
#~ "process, which returns to userspace and"
#~ " simply invokes the requested system "
#~ "call. Once it obtains the return "
#~ "value, it instructs the delegator module"
#~ " to send the result back to "
#~ "McKernel, which subsequently passes the "
#~ "value to user-space."
#~ msgstr ""
#~ msgid "Unified Address Space"
#~ msgstr ""
#~ msgid ""
#~ "The unified address space model in "
#~ "IHK/McKernel ensures that offloaded system "
#~ "calls can seamlessly resolve arguments "
#~ "even in case of pointers. This "
#~ "mechanism is depicted below and is "
#~ "implemented as follows."
#~ msgstr ""
#~ msgid ""
#~ "First, the proxy process is compiled "
#~ "as a position independent binary, which"
#~ " enables us to map the code and"
#~ " data segments specific to the proxy"
#~ " process to an address range which"
#~ " is explicitly excluded from McKernels "
#~ "user space. The grey box on the"
#~ " right side of the figure "
#~ "demonstrates the excluded region. Second, "
#~ "the entire valid virtual address range"
#~ " of McKernels application user-space "
#~ "is covered by a special mapping in"
#~ " the proxy process for which we "
#~ "use a pseudo file mapping in "
#~ "Linux. This mapping is indicated by "
#~ "the blue box on the left side "
#~ "of the figure."
#~ msgstr ""